WPF ListView虚拟化分组

Luk*_*uke 7 .net wpf virtualization performance listview

有没有人知道在启用分组时支持UI虚拟化的ListView实现?默认情况下,在设置分组时禁用VirtualizingStackPanel.

看来微软不打算在.NET Framework的v4.0中实现这一点,所以我正在寻找替代解决方案.

Luk*_*uke 6

我在分组和虚拟化MSDN代码示例中找到了一个示例,它将分组的ListView转换为支持虚拟化的平面列表.但是我无法弄清楚如何模仿标题的扩展动作.

  • 提供给示例代码的链接不再有效,因为代码库已被移动,此处是移动的[分组和虚拟化 MSDN 代码示例](https://code.msdn.microsoft.com/windowsdesktop/Grouping) 的链接-和-虚拟化-56e7d3fe) (2认同)

rmo*_*ore 0

一种选择是查看 Bea Stollniz 关于提高 TreeView 性能的系列: 第 1 部分第 2 部分第 3 部分。虽然她所做的更适合 TreeView,因为它们默认分组,所以没有任何虚拟化,但所学到的经验教训绝对可以应用于具有虚拟化组的自定义 ListView。事实上,在第 3 部分中,她使用 ListBox 作为创建虚拟化树的基础,这也是虚拟化分组的良好开端。显然,像在 TreeView 中显示项目有一些差异,例如从具有分组的 ListView 中选择组节点,但这可以通过捕获 SelectionChanged 来修复。