gpt4 book ai didi

c# - DataGrid 虚拟化绑定(bind)到带有 GroupDescriptions 的 ListCollectionView

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:03 26 4
gpt4 key购买 nike

正如标题所说,我有一个绑定(bind)到 ListViewCollection 的 WPF DataGrid。数据集很大,但加载速度非常快——这要归功于行的虚拟化。

但是,一旦我添加了一个分组,它就会开始加载每一行(我可以从 wpf 调试消息中看到),让我无所适从,吃光了所有的 ram。

此处提到:http://marlongrech.wordpress.com/2008/11/22/icollectionview-explained/

特别是“默认情况下,分组将禁用虚拟化支持。因此,对大型数据集进行分组可能非常昂贵,请三思而后行……”

这解释了很多,但是有人知道如何覆盖该句子中的“默认”位吗?我应该完全使用其他东西吗?

最佳答案

框架 4.0 可能没有方便的解决方案请参阅 WPF DataGrid Virtualization with Grouping .

您可以展平列表并创建自己的分组(他们在开玩笑吗?)分组和虚拟化 http://code.msdn.microsoft.com/windowsdesktop/Grouping-and-Virtualization-56e7d3fe

framework 4.5 好像有解决方法见:

Improved performance when displaying large sets of grouped data

UI virtualization occurs when a subset of user interface (UI) elements are generated from a larger number of data items based on which items are visible on the screen. The VirtualizingPanel defines the IsVirtualizingWhenGrouping attached property that enables UI Virtualization for grouped data. For more information about grouping data, see How to: Sort and Group Data Using a View in XAML. For more information about virtualizing grouped data, see the IsVirtualizingWhenGrouping attached property. (From What's New in WPF Version 4.5 which is no longer availableemphasized text)

关于c# - DataGrid 虚拟化绑定(bind)到带有 GroupDescriptions 的 ListCollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8439806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com