![](/img/trans.png)
[英]C# WPF Set ScrollViewer vertical offset at item position
[英]C#/WPF - Get ScrollViewer scroll position?
好的,所以,每个人都知道如何设置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。
解决方案是在myScrollViewer.UpdateLayout()
之后手动调用myScrollViewer.ScrollToVerticalOffset()
。 然后, myScrollViewer.VerticalOffset
将具有预期值。
在触发LayoutUpdated事件后,确保您的VerticalScrollBarVisibility =“Visible”和VerticalScrollOffset将为280。
我认为你在窗口的构造函数中调用myscrollViewer。
单击按钮或窗口的加载方法时,可以调用它们,以便以垂直偏移值更新值。 也就是说,初始化窗口后,这些值会更新!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.