Это может быть не связано, но у меня были всевозможные проблемы с DataGrid, в которых потребовались буквально секунды для обновления после изменения размера окна, сортировки столбца и т. Д. И блокировки пользовательского интерфейса окна в это время (1000 строк, 5 столбцов).
Это связано с проблемой (ошибкой?) Расчетов размера WPF. У меня было это в сетке с RowDefinition Height = "Auto", которая заставляла систему рендеринга пытаться пересчитать размер DataGrid во время выполнения, измеряя размер каждого столбца и строки, предположительно, заполняя всю сетку ( как я понимаю). Предполагается, что это нужно как-то разумно, но в данном случае это не так.
Быстрая проверка, чтобы увидеть, является ли это связанной проблемой, состоит в том, чтобы установить свойства Высота и Ширина DataGrid на фиксированный размер на время теста, и попробуйте запустить снова. Если ваша производительность восстановлена, постоянное исправление может быть одним из следующих вариантов:
- Изменить размеры содержащихся элементов на относительные (*) или
фиксированные значения
- Установите для MaxHeight и MaxWidth DataGrid фиксированное значение, большее
чем он мог бы получить при обычном использовании
- Попробуйте другой тип контейнера с другой стратегией изменения размера (Grid, DockPanel и т. Д.)