簡體   English   中英

列表框滾動條獲取位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM