我有一个使用 ScrollView 的页面。 在此页面中,我显示了一个列表。 我从休息界面获得的这个列表。 该列表可能很长,所以我只从其余界面加载一定数量的项目,比如说 30 个项目。 当用户向下滚动并到达列表和 ScrollView 的末尾时,我想从其余界面加载接下来的 30 个项目并将它们添加到视图中。
我如何检测用户何时到达 Maui ScrollView 的下端?
要在用户到达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");
}