Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何实现ListView项的增量加载?_C#_Xaml_Uwp - Fatal编程技术网

C# 如何实现ListView项的增量加载?

C# 如何实现ListView项的增量加载?,c#,xaml,uwp,C#,Xaml,Uwp,我正在制作一个UWP应用程序。我有一个绑定到ObservableCollection的ListView。 我想知道什么时候到达ListView的末尾。一旦到达ListView的末尾,我必须进行API调用以向列表中添加更多数据 在ListView的末尾,我的意思是用户已经一直向下滚动,我必须进行api调用,以便将更多数据输入ListView,以便用户可以进一步滚动 如何确定用户何时一直向下滚动?在UWP社区工具包中,有一个名为的UWP ListView控件的特殊版本,其功能与您想要的功能非常接近:

我正在制作一个UWP应用程序。我有一个绑定到ObservableCollection的ListView。 我想知道什么时候到达ListView的末尾。一旦到达ListView的末尾,我必须进行API调用以向列表中添加更多数据

在ListView的末尾,我的意思是用户已经一直向下滚动,我必须进行api调用,以便将更多数据输入ListView,以便用户可以进一步滚动


如何确定用户何时一直向下滚动?

在UWP社区工具包中,有一个名为的UWP ListView控件的特殊版本,其功能与您想要的功能非常接近: 当用户下拉到列表末尾之外时,将触发
RefreshRequested
事件-这是添加新项目的地方


我建议您去Windows应用商店下载,看看这个控件的演示,并从一个代码示例开始。

在UWP社区工具包中,有一个名为的UWP ListView控件的特殊版本,它的功能与您想要的非常接近: 当用户下拉到列表末尾之外时,将触发
RefreshRequested
事件-这是添加新项目的地方

我建议您到Windows应用商店下载,看看这个控件的演示,并从一个代码示例开始。

在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;
}
使用Microsoft.Toolkit.Uwp;
公共阶层人士
{
公共字符串名称{get;set;}
}
公共类人员来源:IIncrementalSource
{
私人只读列表人员;
公共异步任务GetPagedItemsAsync(int-pageIndex、int-pageSize、CancellationToken CancellationToken=default(CancellationToken))
{
返回AddItems();
}
公共无效附加项()
{
人。清除();
//用于在人员列表中添加其他项目的代码
还人,;
}
}
//在Page.xaml.cs中
公共网页()
{
this.InitializeComponent();
var collection=new IncrementalLoadingCollection();
MasterDetailsViewPanel.ItemsSource=集合;
}
在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;
}
使用Microsoft.Toolkit.Uwp;
公共阶层人士
{
公共字符串名称{get;set;}
}
公共类人员来源:IIncrementalSource
{
私人只读列表人员;
公共异步任务GetPagedItemsAsync(int-pageIndex、int-pageSize、CancellationToken CancellationToken=default(CancellationToken))
{
返回AddItems();
}
公共无效附加项()
{
人。清除();
//用于在人员列表中添加其他项目的代码
还人,;
}
}
//在Page.xaml.cs中
公共网页()
{
this.InitializeComponent();
var collection=new IncrementalLoadingCollection();
MasterDetailsViewPanel.ItemsSource=集合;
}

请改进您的问题,向我们展示一些代码,并让我们知道您遇到困难的代码部分。你认为什么是代码?ListVIEW的结尾达到了< /代码>?用户一直向下滚动?还是您的代码填充完ListView了?@blaze_125补充到问题中。代码没什么大不了的,只有一个ListView,它从一个ObservableCollection中获取项目。请查看此开始->它不是UWP特定的,但它可能会帮助您开始。请改进您的问题,向我们展示一些代码,并让我们知道您在代码的哪一部分遇到困难。你认为什么是代码?ListVIEW的结尾达到了< /代码>?用户一直向下滚动?还是您的代码填充完ListView了?@blaze_125补充到问题中。代码没什么大不了的,只有一个ListView,它从一个ObservableCollection中获取项目。请查看此开始->它不是UWP特定的,但它可能会帮助您开始。您应该推荐您应该推荐的