问题
I want to validate what the user has entered immediately after the user has finished entering a row in a datagrid.
What event should I be looking at, and how do I retrieve the row data? Or even better, the object it's bound to?
回答1:
Use the RowEditEnding event.
private void DataGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
YourObject obj = e.Row.Item as YourObject;
if (obj != null)
{
//see obj properties
}
}
回答2:
- Event RowEditEnding
- Data should be in e.Row.DataContext/e.Row.Item
回答3:
If you're having problems, I had success using:
DataGridCellInfo selected = YourDataGrid.SelectedCells[0];
YourObject selectedRow = selected.Item as YourObject;
来源:https://stackoverflow.com/questions/4674048/how-to-get-datagrid-row-data-after-user-has-finished-editing-row