Моя первоначальная догадка - нет ... это основано на чтениях из блога Винсента Сибала .
Кажется, что CommitEditCommand
на DataGrid
вызывает IEditableCollectionView аналог.Итак ...
DataGrid.CommitEditCommand
-> IEditableCollectionView.CommitEdit
-> IEditableObject.EndEdit
Поэтому, если ваша модель реализует IEditableObject
и вы находитесь в ячейке в пределах DataGrid
, нажмитеEnter (InputBinding, сохраненный через CommandManager) по умолчанию выполнит DataGrid.CommitEditCommand
и отключит каскад действий вниз по течению, как указано выше.
В блоге говорится об использовании таких событий, как RowEditEnding
или CellEditEnding
для отмены команды, что в теории означало бы, что вы можете отменить команду и в этот момент перейти к желаемому поведению.