[英]Implementing LoadMore pagination for a grouped ListView in Windows Phone 8.1?
是否可以将ListViewBase.LoadMoreItemsAsync方法应用于分组的ListView(CollectionViewSource)中的分页。 或者,也许您知道另一种方式,请告诉我。
您可以这样操作:在您的ListView上,使用以下代码添加“ Loaded”事件:
private void LvPictures_OnLoaded(object sender, RoutedEventArgs e)
{
ScrollViewer viewer = GetScrollViewer(this.LvPictures);
viewer.ViewChanged += LvPictures_ViewChanged;
}
public static ScrollViewer GetScrollViewer(DependencyObject depObj)
{
if (depObj is ScrollViewer) return depObj as ScrollViewer;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
{
var child = VisualTreeHelper.GetChild(depObj, i);
var result = GetScrollViewer(child);
if (result != null) return result;
}
return null;
}
现在,您可以在ViewChangeEvent中指定何时要加载更多项目并实际执行此操作:
private async void LvPictures_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
ScrollViewer view = (ScrollViewer)sender;
double progress = view.VerticalOffset / view.ScrollableHeight;
if (progress > 0.8 & !_incallFilesList && NextPagePicturesAvailable)
{
_incallFilesList = true;
GetNextPicturesPageAsync();
}
_incallFilesList = false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.