[英]Listbox scrollbar get position
我已經看到很多問題,詢問如何設置滾動位置,但是我不需要設置位置,我需要得到它。 對於我正在編寫的Windows Universal應用程序,我需要檢查用戶是否一直向上滾動。 如果用戶一直向上滾動,則需要向服務器發出請求以獲取更多數據以顯示給用戶。
如何在代碼中查看列表框的滾動位置? 是否有某種價值改變事件或我可以使用的東西?
您可以在視覺樹中找到ScrollViewer
元素。 然后訂閱ViewChanged
事件以觀察其偏移量已更改。
試試這個代碼:
var border = VisualTreeHelper.GetChild(listView, 0) as Border;
if (border != null)
{
var scrollviewer = border.Child as ScrollViewer;
if (scrollviewer != null)
{
scrollviewer.ViewChanged += Scrollviewer_ViewChanged;
scrollviewer.ViewChanging += ScrollviewerOnViewChanging;
}
}
private void ScrollviewerOnViewChanging(object sender, ScrollViewerViewChangingEventArgs scrollViewerViewChangingEventArgs)
{
Debug.WriteLine("changing:{0}", ((ScrollViewer)sender).VerticalOffset);
}
void Scrollviewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
Debug.WriteLine("ViewChanged:{0}", ((ScrollViewer)sender).VerticalOffset);
}
為此使用ListView和具有增量加載的集合/ http://code.msdn.microsoft.com/windowsapps/Data-Binding-7b1d67b5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.