我如何更新现有的元素ObservableCollection?
-
03-07-2019 - |
题
我有一个实例ObservableCollection开WPF列表框,与两个单独的数据模板(一个用于显示,一个用于编辑)。该数据模板,用于编辑一样具有约束力的文本,并保存按钮。
什么样的变化做我需要做所以,当我按下保存按钮(后把名单中的项目编辑模式),值更改的文本,以替换价值在ObservableCollection(和所显示的)?
解决方案
集合中的项目应该是实现INotifyPropertyChanged接口的类型。这样,您的列表框将通知您单个项目对象中的属性值已更改。 ObservableCollection仅在集合更改(添加,删除项目等)时引发CollectionChanged事件。
引用来自ObservableCollection的MSDN库文章
完全支持传输数据 从绑定源对象到的值 绑定目标,你的每个对象 支持可绑定的集合 属性必须实现 适当的财产变了 通知机制如 INotifyPropertyChanged接口。
其他提示
我使用BindingList解决了类似的问题<!> lt; T <!> gt;类。
它在集合和单个项目更改时都触发了ListChanged事件。
在.Net 3.5中引入
不隶属于 StackOverflow