好的,那么,每个人都知道如何设置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。
VerticalOffset
或ContentVerticalOffset
应该为您提供正确的值...在什么时候访问这些属性(当它们评估为0时)? - Alastair Pitts