列表框滚动条获取位置
本文关键字:位置 获取 滚动条 列表 | 更新日期: 2023-09-27 18:17:30
我见过很多问题,问如何设置滚动位置,但我不需要设置位置,我需要得到它。对于我正在编写的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和Collection/http://code.msdn.microsoft.com/windowsapps/Data-Binding-7b1d67b5