WPF: изменение элемента в коллекции, наблюдаемой ListView - PullRequest
0 голосов
/ 02 февраля 2010

У меня есть ListViewGridView), привязанным к коллекции предметов. Это довольно стандартные вещи. Коллекция представляет собой ObservableCollection.

Теперь допустим, что я изменил какое-то свойство элемента в коллекции. Как мне рассказать ListView об этом? Список состоит из десятков тысяч строк, поэтому мне нужно сказать, чтобы он не перезагружал всю коллекцию, просто я обновил какой-то один элемент.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2013

Проблема, как вы можете видеть из пошагового выполнения кода, заключается в том, что никто не слушает PropertyChanges на ваших отдельных предметах. Вам необходимо привязать каждую строку (элемент) вашей коллекции к событию PropertyChanged, и самый простой способ сделать это - переопределить ObservableCollection.

0 голосов
/ 02 февраля 2010

Если в ваших объектах реализовано какое-то уведомление об изменении свойства (наиболее распространенный способ - реализовать интерфейс INotifyPropertyChanged) - тогда список будет знать, как автоматически обновлять изменение свойства.

...