Для этого я использовал событие CellEditEnding
в самой сетке данных.
this.TheGrid.CellEditEnding += new EventHandler<DataGridCellEditEndingEventArgs>(TheGrid_CellEditEnding);
В методе вы можете затем использовать Dispatcher
для задержки вызова метода, чтобы значение сохранялось обратно в связанном объекте.
private void TheGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
Dispatcher.BeginInvoke(new Action(this.CellEdited));
}
Вы также можете передать DataGridCellEditEndingEventArgs
в метод, чтобы позволить вам проверить строку и столбец ячейки, которая была отредактирована, вместе с нижележащим TextBox
.
Кроме того, поскольку сетка данных касается объектов, индекс строки не слишком важен и, следовательно, его нелегко получить (что я мог бы найти).