Инструментарий WPF DataGrid, прокручивающий проблемы производительности - почему?

Одно общее использование делегатов к универсальным Спискам через делегатов Действия (или его анонимный эквивалент) для создания короткой foreach операции:

myList.Foreach( i => i.DoSomething());

я также нахожу делегата Предиката довольно полезным в поиске или сокращении Списка:

myList.FindAll( i => i.Name == "Bob");    
myList.RemoveAll( i => i.Name == "Bob");

я знаю, что Вы не сказали требуемого кода, но я нахожу легче выразить его полноценность через код.:)

24
задан Community 23 May 2017 в 11:46
поделиться

1 ответ

В каком контейнере находится ваша сетка данных? Например, если вы поместите его в средство просмотра прокрутки, сетка данных будет расти, чтобы отображать каждую строку, что эффективно отключит виртуализацию (и средство просмотра прокрутки сделает его нормальным, пока это происходит). Убедитесь, что размер сетки данных ограничен.

Это действительно похоже на виртуализацию, если этот совет не работает, запустите приложение через профилировщик, чтобы убедиться, что виртуализация происходит.

Edit: Вот пример того, как использовать snoop (или, как я полагаю, крот), чтобы быстро увидеть, работает ли виртуализация. http://blogs.msdn.com/jgoldb/archive/2008/03/25/quick-tips-to-improve-wpf-app-memory-footprint.aspx

3
ответ дан 28 November 2019 в 23:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: