【问题标题】:Update ListView when Collection datasource updates集合数据源更新时更新 ListView
【发布时间】:2011-11-29 14:00:33
【问题描述】:

我有绑定到 Dictionary 集合的 ListView,但是新的项目被添加到集合中,listview 没有更新。这在 WPF 中如何实现?

【问题讨论】:

    标签: .net wpf binding collections


    【解决方案1】:

    WPF 绑定的双方都应支持INotifyCollectionChanged 接口,以便通知集合更改。 字典不支持它。因此,您可以使用ObservableCollection class(它不提供通过关联键搜索值等功能),或者您可以创建自己的 ObservableDictionary 类,该类实现了IDictionaryINotifyCollectionChanged 接口

    PS:如果您需要绑定 Dictionary 的键和值 - 您必须实现自己的类,如果显示 Keys 或 Values 就足够了 - 只需基于 dictionary.Keys 或 dictionary.Values 创建 ObservableCollection。

    有用的链接:

    【讨论】:

    • 你实际上需要实现的不是INotifyPropertyChanged,而是INotifyCollectionChanged,它是由ObservableCollection实现的。见msdn.microsoft.com/en-us/library/…
    • 感谢您指出此错误,将尽快更新答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多