Изменение значений в событии RowEditEnding DataGrid
У меня есть DataGrid со столбцом флажка. Только у одной строки может быть установлен флажок. Если пользователь установит новый флажок, все остальные флажки должны быть автоматически сняты, аналогично переключателю. Я пытался реализовать это поведение в событии RowEditEnding, но если я изменю значения объектов в этом событии, редактирование будет отменено? т.е. флажки оставлены без изменений. Если флажок снят, флажки обновляются, и редактирование происходит нормально. Вот код, который я использую:
private void grdQuestionAnswers_RowEditEnded(object sender, System.Windows.Controls.DataGridRowEditEndedEventArgs e)
{
if (DataGridEditAction.Commit == e.EditAction)
{
Answer answer = (Answer)e.Row.DataContext;
if (answer.Correct == true)
{
foreach (Answer otherAnswer in grdQuestionAnswers.ItemsSource)
{
if (otherAnswer != answer)
{
answer.Correct = false;
}
}
}
}
}