On my system, I need to capture and send the old and new cell edit value. I read that you can do this by checking the EditingElement of the DataGridCellEditEndingEventArgs event as follows:
_dataGrid.CellEditEnding += (sender, e) => { var editedTextbox = e.EditingElement as TextBox; if (editedTextbox != null) MessageBox.Show("Value after edit: " + editedTextbox.Text); }
In my case, the data is a dictionary, so EditingElement is a ContentPresenter
var editedTextbox = e.EditingElement as ContentPresenter; if (editedTextbox != null) MessageBox.Show("Value after edit: " + editedTextbox.Content);
and the content is the original, not the new edited value.
How can I make this work:
_dataGrid.SomeEvent(sender, e)->{ SendValues(e.oldCellValue, e.newCellValue); }
jchristof
source share