【发布时间】:2021-11-20 19:48:09
【问题描述】:
IncrementalLoadingCollection 的这个示例展示了如何在向下滚动时创建具有增量加载集合(无限滚动)的应用。
XAML:
<ListView x:Name="PeopleListView">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:Person">
<TextBlock Text="{x:Bind Name}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
C#:
public class Person
{
public string Name { get; set; }
}
public class PeopleSource : IIncrementalSource<Person>
{
private readonly List<Person> people;
public PeopleSource()
{
// Populate people
...
}
public async Task<IEnumerable<Person>> GetPagedItemsAsync(int pageIndex, int pageSize)
{
// Gets items from the collection according to pageIndex and pageSize parameters.
var result = (from p in people
select p).Skip(pageIndex * pageSize).Take(pageSize);
}
}
var collection = new IncrementalLoadingCollection<PeopleSource, Person>();
PeopleListView.ItemsSource = collection;
但我需要视图从列表中间开始显示,如果滚动向上和向下,项目应该像已经发生的那样增量加载 向下滚动。有谁知道如何使用 IncrementalLoadingCollection 执行此操作或可以提出解决方案?感激不尽。
【问题讨论】:
标签: c# windows visual-studio listview uwp