在我的系统中,我需要捕获并发送单元格编辑的旧值和新值。我读到您可以通过检查事件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);
}
最佳答案
我采用了让行数据对象继承自IEditableObject的方法。我在EndEdit()接口(interface)方法中处理更新的值
关于c# - WPF DataGrid-编辑结束后单元格的新值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28156929/