SL4 TransformToVisual:"价值不在预期范围内."

Num*_*er8 5 transform silverlight-4.0

我有一个包含Canvas的ScrollViewer:

<ScrollViewer x:Name="scrollViewer" Margin="0" Grid.RowSpan="2" >
<i:Interaction.Triggers>
<!--    stuff-->
</i:Interaction.Triggers>
<Border>
    <Canvas x:Name="MapCanvas" Background="{Binding BackgroundColor}" Width="7200" Height="3200" >
        <Canvas.RenderTransform>
            <ScaleTransform />
        </Canvas.RenderTransform>
        <i:Interaction.Behaviors>
        <!--            stuff-->
        </i:Interaction.Behaviors>

        <i:Interaction.Triggers>
        <!--            stuff-->
        </i:Interaction.Triggers>
    </Canvas>
</Border>
Run Code Online (Sandbox Code Playgroud)

此代码导致异常,"值不在预期范围内".

var generalTransform = scrollViewer.TransformToVisual(MapCanvas);     
Run Code Online (Sandbox Code Playgroud)

关于导致这种情况的任何提示都将受到赞赏.查看在线帮助,我找不到TransformToVisual可能抛出的异常或原因的文档.

更新:有没有办法测试scrollViewer和/或MapCanvas以确保TransformToVisual调用成功?

Jus*_* XL 1

也许我完全错了,但我怀疑这可能是一个时间问题。

如果我做

private void UserControl_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
    timer = new DispatcherTimer();
    timer.Interval = new TimeSpan(0, 0, 0, 0, 20);
    timer.Tick += (s, e2) =>
    {
        var generalTransform = scrollViewer.TransformToVisual(MapCanvas);
        timer.Stop();
    };
    timer.Start();
}
Run Code Online (Sandbox Code Playgroud)

错误不再发生...

我猜这是因为控件尚未“直观地”显示在屏幕上?