WPF DataGrid – 编辑结束后单元格的新值

在我的系统中,我需要捕获并发送单元格编辑的旧值和新值。 我已经读过你可以通过检查事件DataGridCellEditEndingEventArgs的EditingElement来做到这一点:

_dataGrid.CellEditEnding += (sender, e) => { var editedTextbox = e.EditingElement as TextBox; if (editedTextbox != null) MessageBox.Show("Value after edit: " + editedTextbox.Text); } 

在我的例子中,数据是字典,因此EditingElement是ContentPresenter

 var editedTextbox = e.EditingElement as ContentPresenter; if (editedTextbox != null) MessageBox.Show("Value after edit: " + editedTextbox.Content); 

内容是原始内容,而不是新编辑的值。

我怎样才能让它工作:

 _dataGrid.SomeEvent(sender, e)->{ SendValues(e.oldCellValue, e.newCellValue); } 

我采用了让我的行数据对象inheritance自IEditableObject的方法。 我在EndEdit()接口方法中处理更新的值

尝试绑定到NotifyOnTargetUpdated – 希望这是你正在寻找的