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

当wpf数据网格的单元格中的值使用MVVM更改时,如何引发事件?,wpf,events,mvvm,datagrid,raise,Wpf,Events,Mvvm,Datagrid,Raise,我需要关于使用MVVM设计模式的wpf数据网格的帮助 我有一个绑定到observablecollection的datagid。网格中的第一列包含无法编辑的十进制值。第二列包含一个文本框,必须在其中输入十进制值。第三列必须显示输入时第一列中的值与第二列中的值之间的差值。我希望通过处理observablecollection的Collectionchanged事件,met可以确定集合中某个项的字段何时发生了更改,但这似乎不起作用 我还尝试过处理网格所选项的PropertyChanged事件,但这也不

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

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

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


有人能告诉我,当datagrid DataGridTemplateColumn中的文本框中的'n值发生更改时,如何在viewmodel中引发事件吗?然后,如何在第三列的相应行中设置计算值?

您应该尝试从另一端(即从ViewModel)处理它

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

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


然后,在您的CollectionItem中,应该尝试根据输入的值更改刷新值。如果您想了解更多详细信息,请告诉我,
ObservableCollection
中的项目是否实现了
INotifyPropertyChanged
?您是否也在文本框的绑定上设置了UpdateSourceTrigger?您好。集合中的项确实为datagrid以及DataGridTemplateColumn.Hi中的文本框实现INotifyPropertyChanged和UpdateSourceTrigger=PropertyChanged。集合中的项确实为datagrid以及DataGridTemplateColumn中的文本框实现了INotifyPropertyChanged和UpdateSourceTrigger=PropertyChanged。数据网格的IEditableObject实现可能会推迟更改通知,直到您按照anvarbek的说明更改行的焦点。您是否验证了焦点丢失时发生的更改通知?您好。焦点丢失时不会发生更改通知。