检测Xamarin Scrollview何时结束

时间:2018-07-16 20:27:18

标签: c# xamarin xamarin.forms

我正在使用xamarin表单在滚动视图中显示项目列表。我想添加一个功能,以便当用户滚动到页面底部时,我可以触发一个事件(例如,加载更多项目)。当前,我正在使用此OnScrolled函数触发加载事件:

private void OnScrolled()
        {
            if (Scroller.ScrollY >= (Scroller.ContentSize.Height -Scroller.Height)+1)
            {
               //load more items

            }
        }

问题在于,即使页面仅滚动到底部一次,该函数也会被多次调用。有关如何处理此问题的任何提示?

1 个答案:

答案 0 :(得分:1)

该方法将被多次调用,因为您正在使用事件处理程序来更改滚动。

 private void OnScrolled(object sender, ScrolledEventArgs e)
        {
            MyScrollView scrollView = sender as MyScrollView;
            double scrollingSpace = scrollView.ContentSize.Height - scrollView.Height;

            if (scrollingSpace <= e.ScrollY) // Touched bottom
                // Do the things you want to do
        }