我目前有一个包含大量数据的列表视图。加载时,大多数数据未显示在屏幕上,用户需要向下滚动才能看到信息。
当我尝试加载整个数据库内容时,从数据库加载的执行数据非常快,不到一秒钟。然而,显示器需要更多的时间,当然,随着行数的增加需要更多的时间,这可能会变得很麻烦,尤其是在较慢的计算机上。
我想知道WPF中是否有一些控件会在用户向下滚动时加载显示以平衡加载时间(并且只在真正需要时加载)。我不介意有时使用页面(如第1页,共10页显示在顶部或底部),但我相信“无缝”的东西会更好。
由于
答案 0 :(得分:0)
我认为你可能正在寻找VirtualizingStackPanel
。
从MSDN页面:
标准布局系统创建项目容器并计算布局 对于与列表控件关联的每个项目。 “虚拟化”这个词 是指用户界面(UI)的子集的技术 元素是基于大量数据项生成的 哪些项目在屏幕上可见。生成许多UI元素时 只有少数元素可能会在屏幕上产生不利影响 你的申请表现。 VirtualizingStackPanel计算 可见项目的数量,并与ItemContainerGenerator一起使用 从ItemsControl(如ListBox或ListView)创建UI 元素仅用于可见物品。