C# 如何增量加载listview的以前项目

C# 如何增量加载listview的以前项目,c#,listview,C#,Listview,当我的应用程序通过命令行启动时,它会被传递一个参数,该参数包含应该打开的文档以及一个表示文档打开页面的数字。假设我从第15页开始,用户希望看到自我15页开始以来未加载的项目14-1。目前,我正在加载这些与其余的,并插入他们在顶部,但如果我这样做,我会失去页面位置的应用程序启动。我尝试了listviewsscrollintoview方法,但该方法不起作用,因为我的listview仅在执行GetPagedItemsAsync后才会填充。 我的问题是:是否有其他方法保留我的物品的位置?还是最好在我的l

当我的应用程序通过命令行启动时,它会被传递一个参数,该参数包含应该打开的文档以及一个表示文档打开页面的数字。假设我从第15页开始,用户希望看到自我15页开始以来未加载的项目14-1。目前,我正在加载这些与其余的,并插入他们在顶部,但如果我这样做,我会失去页面位置的应用程序启动。我尝试了listviewsscrollintoview方法,但该方法不起作用,因为我的listview仅在执行GetPagedItemsAsync后才会填充。 我的问题是:是否有其他方法保留我的物品的位置?还是最好在我的listview中填充了scrolloffset之后再插入它们? 正常加载页面,然后滚动到项目可能不起作用,因为该项目可能尚未实现

想象一下我的意思:

Item1 (page that is in the document but wasn't loaded)*

Item2 (page i started with)

Item3

Item4

如果有什么不清楚的地方,我会很乐意编辑我的问题。

也许我不完全理解你的问题,但你似乎知道满载时会有多少物品。在列表中插入虚拟对象,在加载正确的项目时替换它们如何?我知道每次提取多少页,我知道何时加载所有内容(当pagecount达到最大值时)。但是我不太明白你说的傻瓜是什么意思?如果你为所有的项目创建占位符
ScrollIntoView
应该可以。一个简单的例子<代码>列表.添加("第1页问题是,我无法立即加载所有项目,因为文档可能包含许多页面,会耗尽内存。或者我误解了您的意思?我的建议是按需加载数据,并在列表中使用虚拟对象,以便列表中的项目数相同,但实际数据会被替换。可能是我误解了ou.也许你应该添加一些代码来显示你到目前为止所做的尝试,肯定会有人提出一个好的解决方案:)