Обновлять ListView при обновлении источника данных Collection - PullRequest
2 голосов
/ 29 ноября 2011

У меня есть ListView, который я связываю с коллекцией Dictionary, но в коллекцию добавляются новые элементы, а listview не обновляется. Как этого можно добиться в WPF?

1 Ответ

4 голосов
/ 29 ноября 2011

Обе стороны привязки WPF должны поддерживать интерфейс INotifyCollectionChanged для уведомления об изменениях коллекции. Словарь не поддерживает это. Таким образом, вы можете использовать ObservableCollection class (он не обеспечивает такую ​​функциональность, как поиск значения по связанному ключу), или вы можете создать свой собственный класс ObservableDictionary, который реализует как IDictionary , так и INotifyCollectionChanged интерфейсы

PS: Если вам нужно связать и ключи, и значения словаря - вам нужно реализовать собственный класс, если достаточно отобразить либо ключи, либо значения - просто создайте ObservableCollection на основе dictionary.Keys или dictionary.Values.

Полезные ссылки:

...