2011-06-21 32 views
4

我想获得scrollviewer可以在垂直和水平方向滚动的最大数量,但我需要在布局更新回调中执行此操作。这是目前我在做什么:获取ScrollViewers最大滚动值?

 viewer.ScrollToRight(); 
     doublehmax = viewer.HorizontalOffset; 

     viewer.ScrollToBottom(); 
     double vmax = viewer.VerticalOffset; 

但这casues一个错误:“未处理的错误在Silverlight 2应用程序布局周期检测布局无法完成​​。”

有没有一种方法可以在窗口大小调整等情况下可靠地获得滚动视图区域的最大水平和垂直偏移量?

回答

5
+0

scrollViewer.Template.FindName函数不存在,FindName不是Template的成员.. – tweetypi

+0

看[这里](http://msdn.microsoft.com/en-us/library/system.windows.frameworktemplate.aspx) –

+0

[如何引用模板部分](http://social.msdn.microsoft .com /论坛/ en-US/wpf/thread/977972b2-b250-4607-97b4-6fca415b228e) –

1

我想你想要的是ExtentWidth和ExtentHeight,对不对?您需要ScrollViewer内部的最大尺寸。

+0

-1 ExtentWidth是内容本身 –

+0

是的,我在我的文章中说这样的宽度。这应该定义滚动查看器可以滚动多少。 –

+0

看看[here](http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/933a696b-076f-4b74-92be-4737e74b732c) –