我正在製作UWP應用程序。我有一個ListView綁定到ObservableCollection。 我想知道何時到達ListView的末尾。一旦到達ListView的末尾,我必須進行API調用以將更多數據添加到列表中。如何實現ListView項目的增量加載?
通過ListView的結束我的意思是用戶已經滾動一路下來,我必須進行api調用,以獲得更多的數據到列表視圖,以便用戶可以進一步滾動。
如何查明用戶何時滾動到最下方?
我正在製作UWP應用程序。我有一個ListView綁定到ObservableCollection。 我想知道何時到達ListView的末尾。一旦到達ListView的末尾,我必須進行API調用以將更多數據添加到列表中。如何實現ListView項目的增量加載?
通過ListView的結束我的意思是用戶已經滾動一路下來,我必須進行api調用,以獲得更多的數據到列表視圖,以便用戶可以進一步滾動。
如何查明用戶何時滾動到最下方?
使用Incremental Loading Collection Helpers
在UWP社區工具包
using Microsoft.Toolkit.Uwp;
public class Person
{
public string Name { get; set; }
}
public class PeopleSource : IIncrementalSource<Person>
{
private readonly List<Person> people;
public async Task<IEnumerable<InfoOverView>> GetPagedItemsAsync(int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken))
{
return AddItems();
}
public void AddItems()
{
people.Clear();
//Code to add the additional items in the people List
return people;
}
}
//In Page.xaml.cs
public Page()
{
this.InitializeComponent();
var collection = new IncrementalLoadingCollection<PeopleSource, Person>();
MasterDetailsViewPanel.ItemsSource = collection;
}
在UWP社區工具包有一個名爲PullToRefreshListView
UWP ListView控件的一個特殊版本,具有功能接近你在找什麼: 當用戶拉下超越RefreshRequested
事件被觸發列表的末尾 - 這是您添加新項目的地方。
我建議你去Windows商店下載UWP Community Toolkit Sample App來看看這個控件的演示,並有一個代碼開始的例子。
你應該推薦['Incremental Loading Collection Helpers'](http://www.uwpcommunitytoolkit.com/en/master/helpers/IncrementalLoadingCollection/) –
請修改您的問題,我們看一些代碼,並讓我們知道你有一個很難與代碼的一部分。你認爲什麼是「到達ListView的末尾」?用戶一直向下滾動?或者你的代碼完成填充ListView? –
@ blaze_125添加到問題中。代碼沒有太多,只有一個ListView從ObservableCollection獲取項目。 –
檢查出來開始 - > [處理滾動事件在列表視圖中的C - 銳](https://stackoverflow.com/questions/1851620/handling-scroll-event-on-listview-in -c-sharp)這不是UWP特有的,但它可以幫助你開始。 –