0

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

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

我想知道 WPF 中是否有一些控件可以在用户向下滚动时加载显示以平衡加载时间(并且仅在真正需要时加载)。我不介意页面的某个时候(例如顶部或底部显示的第 10 页,共 10 页),但我相信“看起来似乎”的东西会更好。

谢谢

4

1 回答 1

1

我认为 aVirtualizingStackPanel是您可能正在寻找的。

从 MSDN 页面上:

标准布局系统创建项目容器并为与列表控件关联的每个项目计算布局。“虚拟化”一词是指一种技术,通过该技术,用户界面 (UI) 元素的子集根据哪些项目在屏幕上可见而从大量数据项目中生成。当屏幕上可能只有几个元素时生成许多 UI 元素会对应用程序的性能产生不利影响。VirtualizingStackPanel 计算可见项的数量并与 ItemsControl(例如 ListBox 或 ListView)中的 ItemContainerGenerator 一起使用,以仅为可见项创建 UI 元素。

于 2013-04-07T03:54:32.220 回答