Виртуализация DataGrid, привязанная к ListCollectionView с GroupDescription - PullRequest
2 голосов
/ 09 декабря 2011

Как видно из заголовка, у меня есть WPF DataGrid, привязанная к ListViewCollection. Набор данных большой, но он загружается очень быстро - благодаря виртуализации строк.

Однако, как только я добавляю группировку, эта вещь начинает загружать каждую строку (я вижу по сообщениям отладки wpf), оставляя меня вертеть большими пальцами и съедая весь баран.

Это упоминается здесь: http://marlongrech.wordpress.com/2008/11/22/icollectionview-explained/

В частности, этот бит гласит: «Группировка по умолчанию отключит поддержку виртуализации. Поэтому группировка больших наборов данных может быть очень дорогой, подумайте дважды, прежде чем делать это…»

Что многое объясняет, но кто-нибудь знает, как переопределить бит "по умолчанию" в этом предложении? Должен ли я использовать что-то еще вообще?

1 Ответ

1 голос
/ 26 марта 2012

Вероятно, нет удобного решения с платформой 4.0. См. Виртуализация WPF DataGrid с группировкой .

Вы можете сгладить список и создать свою собственную группировку (они шутят?) Группировка и виртуализация http://code.msdn.microsoft.com/windowsdesktop/Grouping-and-Virtualization-56e7d3fe

Кажется, что есть решение в рамках 4.5, см .:

Улучшена производительность при отображении больших наборов сгруппированных данных

Виртуализация пользовательского интерфейса происходит, когда подмножество элементов пользовательского интерфейса (UI) генерируется из большего количества данныхэлементы, основанные на том, какие элементы видны на экране.VirtualizingPanel определяет вложенное свойство IsVirtualizingWhenGrouping, которое включает виртуализацию пользовательского интерфейса для сгруппированных данных.Дополнительные сведения о группировании данных см. В разделе Практическое руководство. Сортировка и группировка данных с использованием представления в XAML.Для получения дополнительной информации о виртуализации сгруппированных данных см. Вложенное свойство IsVirtualizingWhenGrouping.(Из раздела «Что нового в версии 4.5 WPF», который больше недоступен выделенный текст )

...