WPF. Есть ли разница в производительности между использованием ContentPresenter или VirtualizingStackPanel в качестве элементаhost в шаблоне управления ListBox? - PullRequest
1 голос
/ 17 августа 2010

Вопрос довольно очевиден.

1 Ответ

1 голос
/ 17 августа 2010

Да, есть.VirtualizingStackPanel оптимизирует отображение предметов - он только создает и хранит видимые предметы - и, таким образом, обеспечивает лучшую производительность.

Использование другой панели может дать вам расширенные возможности по стилизации и прокрутке, но это может быть проблематично, если у вас есть сотни или тысячи записей.

Кстати, если вы установите для свойства CanContentScroll значение false, даже VirtualizingStackPanel сгенерирует все элементы, чтобы обеспечить более плавную прокрутку - по умолчанию выполняется прокрутка от элемента к следующему.

...