Сравнение в этой статье не проводится между двумя простыми операциями связывания, эти измерения относятся к сценарию, в котором вы добавляете один элемент в WPF ListBox
, который уже связан либо с List<T>
, либо с * 1003. *.
Как отмечает автор:
... объект CLR List<T>
не поднимает автоматически
коллекция изменила событие. Чтобы
получить ListBox
, чтобы забрать
изменения, вам придется воссоздать
свой список сотрудников и повторно прикрепить
это к ItemsSource
свойству
ListBox
. Пока это решение работает, оно
представляет огромное влияние на производительность.
Каждый раз, когда вы переназначаете ItemsSource
ListBox
на новый объект,
ListBox
сначала выбрасывает свой предыдущий
предметов и восстанавливает весь его список.
Это объясняет разницу в производительности. Даже если ObservableCollection<T>
поддерживается List<T>
, он реализует интерфейс INotifyCollectionChanged
, который делает ненужной всю эту дополнительную обработку.