Обновление DataGrid без фризов
Есть DataGrid, в который выводится 100к строк запроса из базы.
Суть проблемы в том, что запрос в базу и его ожидание происходит асинхронно, как и обработка полученных данных и создание ObservableCollection, но есть момент, когда видимо ObservableCollection уведомляет DataGrid(реализован класс ViewModel с наследованным INotifyPropyrtyChanged) об изменении элементов и из за этого следует небольшой фриз(предположение) длительностью в секунду(примерно).
Есть ли возможность от него избавиться?
Не знаю насколько это целесообразно, но пробовал сделать метод OnPropertyChandeg асинхронным, но фриз никуда не делся. Также была попытка с виртуализацией, которая не увенчалась успехом.
Ответы (1 шт):
Проблема решилась предложенным ниже путем:
DataGrid VirtualizingStackPanel.VirtualizationMode="Recycling". И вообще ObservableCollection на время наполнения можно отключить от View, это самый быстрый способ. - aeopt