是否有一种方法可以在列表框中分组时启用容器回收
本文关键字:启用 列表 一种 方法 是否 | 更新日期: 2023-09-27 18:07:29
我有一个ListBox
,它可以包含数百个项目。我在列表框中添加了以下属性,性能非常好,即使我分组/取消分组(使用x作为ListCollectionView
)
但是,如果我将ListBox.GroupStyle
设置为任何东西,即使是最简单的东西,也需要几秒钟才能从分组切换到非分组。
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="GroupItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ItemsPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListBox.GroupStyle>
我认为这样做的原因是当我切换到未分组并且必须从头开始重建时,WPF正在丢弃容器的缓存(通过VirtualizingStackPanel
中的回收模式启用)。
有办法提高这里的性能吗?有没有人能给我一些建议,我可以尝试一下,或者我可以看看什么资源?
看看这篇文章,也许会有所帮助
WPF: Data Virtualization
我也在stackoverflow上发现了类似的问题:WPF ListView虚拟化分组
和另一个(甚至有答案)WPF数据虚拟化ListView