【发布时间】:2015-03-25 06:25:46
【问题描述】:
在我的系统中,我需要捕获并发送单元格编辑的旧值和新值。我读到您可以通过检查事件 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);
}
【问题讨论】:
-
除非我遗漏了什么,否则我认为这无济于事 - 我已经绑定了数据网格选择,并且效果很好。我现在需要在编辑之前和之后观察单元格的数据值 - 希望这两条数据都可以在其中一个回调函数中使用。