【发布时间】:2021-10-06 12:11:54
【问题描述】:
我使用简单的List<T> 源填充 ListView。我还在 ListView 上使用分组(使用默认视图 GroupDescriptions)和排序(使用 ListView 项目 SortDescriptions)。
如果我显示的项目很少,没问题,但是当我加载 10 000 个项目时,应用程序会冻结,加载完成后滚动变得非常困难。
在我看到的其他一些主题上,我必须使用 MahApps listview 强制虚拟化:
<Style BasedOn="{StaticResource MahApps.Styles.ListView.Virtualized}" TargetType="ListView" />
我想我已经正确激活了它,因为当我检查我的 ListView 属性时CanContenScroll 为 True(并且它不在样式定义之前)。尽管如此,显示仍然很慢。
有什么我想完全激活虚拟化的东西吗?我应该使用其他集合类型而不是 List<T> 吗?
【问题讨论】:
-
不使用 MahApps 会不会更快?您是否将
ListView的VirtualizingPanel.IsVirtualizingWhenGrouping附加属性设置为`true`?
标签: .net wpf listview mahapps.metro