我需要使用MVVM设计模式的wpf数据网格帮助.
我有一个datagid绑定到observablecollection.网格中的第一列包含无法编辑的十进制值.第二列包含一个文本框,必须在其中输入十进制值.第三列必须显示第一列中的值与第二列中的值之间的差异.我希望处理observablecollection的Collectionchanged事件将允许met确定集合中某个项目的字段何时发生了变化,但这似乎不起作用.
我也尝试过处理网格所选项目的PropertyChanged事件,但这也不起作用.
有人可以向我表明如果在数据网格DataGridTemplateColumn中的文本框中的值被更改时,如何在viewmodel中引发事件?然后如何在第三列的相应行中设置计算值?
最佳答案 你应该尝试从另一端解决它(我从ViewModel).
ObservableCollection中的项(称为CollectionItem)应实现INotifyPropertyChanged.
您应该调整网格,以便在更改数据时注册/提交数据更改(不在焦点输出/移动时)
然后在你的CollectionItem中应该尝试根据输入的值更改刷新值.如果你想要更多细节,请告诉我