如何检测用户在到达最后一个项目后何时尝试滚动列表视图中的项目



我尝试检测用户在到达最后一个项目后何时尝试将项目滚动到列表视图中的顶部。

示例代码:

var listview = new ListView ();
listview.ItemsSource = Items;
listview.ItemAppearing += (sender, e) =>
{
if(isLoading || Items.Count == 0)
return;
//hit bottom!
if(e.Item.ToString() == Items[Items.Count - 1])
{
LoadItems();
} 
}

因此,正如您现在更新的问题一样,我相信这是处理您想要的东西的最佳方式。

这就是我想出的。你还希望它做什么?

ObservableCollection<int> ListOfItems = new ObservableCollection<int>();
for (int i = 0; i < 100; i++)
{
ListOfItems.Add(i);
}
// Listview
var listView = new ListView
{
ItemsSource = ListOfItems
};
// What item are we on?
listView.ItemAppearing += (sender, e) =>
{
if ((int)e.Item == ListOfItems[0])
{
Debug.WriteLine("First Item has been hit!");
}
if ((int)e.Item == ListOfItems[ListOfItems.Count - 1])
{
Debug.WriteLine("Last Item has been hit!");
}
};

注意:在小屏幕上,您将立即点击第一项和最后一项"事件"。

最新更新