ScrollViewer内容大小更改,然后ScrollToOffset无法正常工作

时间:2011-06-15 13:49:44

标签: silverlight silverlight-4.0 scrollview

我正在使用scrollviewer在其中显示图像。

<ScrollViewer Name="scrollViewer1" Height="500" Width="500" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Padding="0" >
    <Image x:Name="img1" Width="100" Source="/MyApp;component/Images/Test.jpg" />
</ScrollViewer>

但是当我在代码中重新调整图像大小,并立即使用 scrollViewer.ScrollToHorizo​​ntalOffset() (重新定位图像)时,它不起作用:

img1.Width = 1000;
scrollViewer1.ScrollToHorizontalOffset(500);

我在img1.Width = 1000确认尚未更新之后验证了 ScrollableWidth 属性。所以我在调整图像大小后立即使用了 UpdateLayout() ,现在很好了 ScrollableWidth : / p>

img1.Width = 1000;
scrollViewer1.UpdateLayout();
scrollViewer1.ScrollToHorizontalOffset(500);

ScrollToHorizo​​ntalOffset 仍然无效。如果我之后这样做,在另一个用户按钮上单击它可以工作。 :/

任何人都有线索?

1 个答案:

答案 0 :(得分:0)

没关系......我的错误,上面的例子有效。在我的项目中,我的ScrollToHorizontalOffset基于未更新的img1.ActualWidth

抱歉:/