c# - 如何更新 ObservableCollection 的现有元素?

标签 c# wpf datatemplate observablecollection

我有一个绑定(bind)到 WPF 列表框的 ObservableCollection 实例,该列表框具有两个单独的数据模板(一个用于显示,一个用于编辑)。用于编辑的数据模板在文本框上有一个单向绑定(bind),还有一个保存按钮。

我需要做哪些更改,以便当我按下“保存”按钮时(将列表项置于编辑模式后),我将文本框更改为的值替换 ObservableCollection(和显示)中的值?

最佳答案

您集合中的项目应该是实现 INotifyPropertyChanged 接口(interface)的类型。这样您的列表框将被通知您的单个项目对象中的属性值已更改。 ObservableCollection 仅在集合更改(添加、删除项目等)时引发 CollectionChanged 事件

引用自关于 ObservableCollection 的 MSDN 库文章

To fully support transferring data values from binding source objects to binding targets, each object in your collection that supports bindable properties must implement an appropriate property changed notification mechanism such as the INotifyPropertyChanged interface.

关于c# - 如何更新 ObservableCollection 的现有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800091/

相关文章:

c# - 使用 MVVM 在组合框中设置默认值

Silverlight:按名称获取 DataTemplate 中的元素

c# - 列表框中嵌套数据模板

c# - UWP中页面之间传递一些参数

c# - Azure 自定义视觉 API 返回 JPG 图像 url 不受支持的媒体类型

c# - 将固定大小的缓冲区(字节数组)转换为字符串

c# - 什么时候值类型包含引用类型?

wpf - 如何设置 wpf slider 控件的拇指高度

wpf - 在列表框中添加项目时将调用的事件处理程序

c# - 以编程方式将 TextBlock 添加到 DataTemplate