silverlight-4.0 – SL4 TransformToVisual:“价值不在预期范围内.”

我有一个包含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>

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

var generalTransform = scrollViewer.TransformToVisual(MapCanvas);

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

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

解决方法

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

如果我做

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

错误不再发生……

我想这是因为屏幕上没有“直观地”显示控件?

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...