Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows Phone 8.1中为分组的ListView实现LoadMore分页?_C#_.net_Xaml_Windows 8.1_Windows Phone 8.1 - Fatal编程技术网

C# 在Windows Phone 8.1中为分组的ListView实现LoadMore分页?

C# 在Windows Phone 8.1中为分组的ListView实现LoadMore分页?,c#,.net,xaml,windows-8.1,windows-phone-8.1,C#,.net,Xaml,Windows 8.1,Windows Phone 8.1,是否可以在分组的ListView(CollectionViewSource)中应用分页方法。或者你知道另一种方法,请告诉我。你可以这样做: 在ListView中,使用以下代码添加“已加载”事件: private void LvPictures_OnLoaded(object sender, RoutedEventArgs e) { ScrollViewer viewer = GetScrollViewer(this.LvPictures); viewer.ViewChan

是否可以在分组的ListView(CollectionViewSource)中应用分页方法。或者你知道另一种方法,请告诉我。

你可以这样做: 在ListView中,使用以下代码添加“已加载”事件:

 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;
      }
     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;
      }