控制加载';如图所示';在WPF中

控制加载';如图所示';在WPF中,wpf,listview,loading,Wpf,Listview,Loading,我目前有一个包含大量数据的listview。加载时,大多数数据不会显示在屏幕上,用户需要向下滚动查看信息 从数据库加载actuel数据非常快,当我尝试加载整个数据库内容时,不到一秒钟。然而,显示会花费更多的时间,当然,随着行数的增加,显示会花费更多的时间,这可能会造成麻烦,尤其是在速度较慢的计算机上 我想知道WPF中是否有一些控件可以在用户向下滚动时加载显示,以平衡加载时间(并且仅在真正需要时加载)。我不介意有时使用页面(比如在顶部或底部显示10页中的第1页),但我相信“无外观”的页面会更好 谢

我目前有一个包含大量数据的listview。加载时,大多数数据不会显示在屏幕上,用户需要向下滚动查看信息

从数据库加载actuel数据非常快,当我尝试加载整个数据库内容时,不到一秒钟。然而,显示会花费更多的时间,当然,随着行数的增加,显示会花费更多的时间,这可能会造成麻烦,尤其是在速度较慢的计算机上

我想知道WPF中是否有一些控件可以在用户向下滚动时加载显示,以平衡加载时间(并且仅在真正需要时加载)。我不介意有时使用页面(比如在顶部或底部显示10页中的第1页),但我相信“无外观”的页面会更好


谢谢

我认为
虚拟化StackPanel
正是您想要的

从其上的MSDN页面:

标准布局系统创建项目容器并计算布局 对于与列表控件关联的每个项。“虚拟化”一词 指用户界面(UI)的一个子集 元素是根据 哪些项目在屏幕上可见。在运行时生成许多UI元素 屏幕上可能只有少数元素会对屏幕产生不利影响 应用程序的性能。“虚拟化”面板将计算 可见项的数量,并使用ItemContainerGenerator 从ItemsControl(如ListBox或ListView)创建UI 元素仅用于可见项


ListView
内部使用
virtualizangstackpanel
来显示项目,默认情况下,
Virtualization
对其启用。我将对其进行测试。由于我更改了ItemPanelTemplate并且不知道这一点,这可能是我的问题所在。到目前为止似乎不起作用,但我相信问题是因为我使用的是滚动查看器,所以感觉它似乎都是可见的。我认为您不需要滚动查看器,因为ListView自带了自己的滚动查看器。