Группировка CollectionViewSource (зависание при отображении большого кол-ва данных)

Есть большая коллекция данных. Необходимо их сгруппировать. Это не проблема

 Items = new ObservableCollection<T>();
 ItemsCollection = CollectionViewSource.GetDefaultView(Items);
 if (!string.IsNullOrEmpty(GroupingPropertyName))
            ItemsCollection.GroupDescriptions.Add(new PropertyGroupDescription(GroupingPropertyName));
 ItemsCollection.Filter = SearchFilter;

Но из-за большого количества данных, при отображении все приложение зависает. Та же история при фильтрации.

Я предполагаю, что при группировке происходит постоянное обновление, как при вставке объектов. Можно ли как-то отключить обновление до тех пор пока не закончится группировка?

P.S. Как только я убираю группировку (причем в разметке XAML) то тормозов нету - добавляю группировку - появляются.


Ответы (1 шт):

Автор решения: MaximK

Решить проблему помогло включение вирутализации:

<DataGrid EnableColumnVirtualization="True" 
          EnableRowVirtualization="True"
          VirtualizingPanel.IsVirtualizingWhenGrouping="True">

Ответ найден WPF DataGrid Virtualization with Grouping

→ Ссылка