У меня есть ListView с некоторыми данными, которые поступают из ObservableCollection, и они обновляются каждые 5 минут. У всех элементов есть собственный идентификатор; мой вопрос: как правильно обновить ObservableCollection? Снова присвоить все данные ObservableCollection или использовать методы Remove / Insert для изменения только тех элементов, которые мне нужно обновить?
В ObservableCollections есть «троица уведомлений об изменении». Или действительно коллекции и XAML / MVVM:
Поскольку в коллекции возникают события при каждом удалении или добавлении, и нет эквивалента «AddRange», крупномасштабные изменения обычно требуют на мгновение деактивации коллекции. Или даже построить новый с нуля, а затем выставить напоказ.
Я думаю, что последний случай - это то, о чем вы спрашиваете.
Да ... данные поступают уже из веб-службы и не имеют смысла цикл для обновления только нескольких элементов, когда я могу просто назначить новые данные для ObservableCollection
@Eder: В этом случае: 1) Создайте новую коллекцию ObservableCollection. 2) Создайте код позади. 3) Наконец, выставьте его через свойство. Уведомление об изменении свойств вызовет все необходимые привязки.
Разместите несколько примеров кода.