2011-06-15 35 views
0

我正在使用scrollviewer在其中显示图像。ScrollViewer内容大小发生变化,ScrollToOffset无法正常工作

<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); 

我验证了ScrollableWidth属性img1.Width = 1000之后确实还没有更新。所以我用了UpdateLayout请()之后我调整图像大小,极大现在ScrollableWidth更新:

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

ScrollToHorizo​​ntalOffset仍然没有工作。如果我之后做了,在另一个用户按钮上点击它可以工作。 :/

任何人都有线索?

+0

没关系......我的错误,上面的例子工作。在我的项目中,我基于未更新的img1.ActualWidth上的ScrollToHorizo​​ntalOffset。 – danbord 2011-06-15 13:58:41

回答

0

没关系...我的错误,上面的例子工作。在我的项目中,我将ScrollToHorizontalOffset作为img1.ActualWidth的基础,但未更新。

对不起:/