XAML Maui如何检测用户何时到达ScrollView的末尾,(无限滚动)

gupuwyp2  于 2023-05-21  发布在  其他
关注(0)|答案(1)|浏览(171)

我有一个使用ScrollView的页面。在这个页面上,我列出了一个列表。这个列表是我从一个rest-interface得到的。这个列表可能很长,所以我只从rest界面加载一些项目,比如30个项目。当用户向下滚动到列表和ScrollView的末尾时,我想从rest界面加载下30个项目并将其添加到视图中。

如何检测用户何时到达Maui ScrollView的下端?

dfuffjeb

dfuffjeb1#

要在用户到达ScrollView的列表项的下端时检测它的末尾,可以使用下面的代码来实现:

XAML:

<ScrollView  Scrolled="OnScrollViewScrolled"> 
     <StackLayout BindableLayout.ItemsSource="{x:Static local:NamedColor.All}">
           <!--Omitted for breviety-->
      </StackLayout>
</ScrollView>

代码隐藏:

private void OnScrollViewScrolled(object sender, ScrolledEventArgs e) 
{

      if (!(sender is ScrollView scrollView)) return;

      var scrollSpace =  scrollView.ContentSize.Height - scrollView.Height;

      if (scrollSpace > e.ScrollY) return;
      

      //load more items when coming to the end of the list of ScrollView 
      System.Diagnostics.Debug.WriteLine("Load more items");
}

相关问题