当使用MVVM更改wpf数据网格的单元格中的值时,如何引发事件?

我需要使用MVVM设计模式的wpf数据网格帮助.

我有一个datagid绑定到observablecollection.网格中的第一列包含无法编辑的十进制值.第二列包含一个文本框,必须在其中输入十进制值.第三列必须显示第一列中的值与第二列中的值之间的差异.我希望处理observablecollection的Collectionchanged事件将允许met确定集合中某个项目的字段何时发生了变化,但这似乎不起作用.

我也尝试过处理网格所选项目的PropertyChanged事件,但这也不起作用.

有人可以向我表明如果在数据网格DataGridTemplateColumn中的文本框中的值被更改时,如何在viewmodel中引发事件?然后如何在第三列的相应行中设置计算值?

最佳答案 你应该尝试从另一端解决它(我从ViewModel).

ObservableCollection中的项(称为CollectionItem)应实现INotifyPropertyChanged.

您应该调整网格,以便在更改数据时注册/提交数据更改(不在焦点输出/移动时)

然后在你的CollectionItem中应该尝试根据输入的值更改刷新值.如果你想要更多细节,请告诉我

点赞