![](/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.