【发布时间】:2012-10-31 05:10:43
【问题描述】:
好的,所以,每个人都知道如何设置 ScrollViewer 的滚动位置。关于ScrollViewer.ScrollToVerticalOffset() 的整篇文章和博客文章都写了,这里有数百个问题的答案。
所以,我输入:
myScrollViewer.ScrollToVerticalOffset(280);
...它非常友好地滚动到那个位置。
问题是,什么属性现在包含 280,所以我以后可以检索它?
(提示:myScrollViewer.VerticalOffset 和 ContentVerticalOffset 都是 0;myScrollViewer.ScrollInfo 只是普通的不存在。)
编辑:显然我需要更详细的演示。
private void btnTest_Click(object sender, RoutedEventArgs e) {
double scrollTarget = 280;
MessageBox.Show("Target: " + scrollTarget.ToString());
myScrollViewer.ScrollToVerticalOffset(scrollTarget);
MessageBox.Show("Now: " + myScrollViewer.VerticalOffset);
}
我必须重申,这会按预期滚动。正好去我想要的地方。但是,myScrollViewer.VerticalOffset 设置为 0。
【问题讨论】:
-
阅读 MSDN、
VerticalOffset或ContentVerticalOffset应该会给您正确的值...您在什么时候访问这些属性(当它们评估为 0 时)?