Когда я делаю привязку ввода к клавише "return" в DataGrid, я не покидаю ячейку редактирования

Когда я нахожусь в сетке, я хочу захватить некоторые ключи, чтобы что-то сделать. Я фиксирую клавишу "удалить", и у меня нет проблем, но когда я пытаюсь перехватить клавишу "Return" и редактирую ячейку, когда я нажимаю клавишу Return, я не покидаю режим редактирования ячейки.

Если я не выполняю привязку клавиш Return, когда я нажимаю return во время редактирования ячейки, она выходит из режима редактирования и переходит к следующей строке.

Если я прокомментирую весь код привязки клавиш "Возврат", проблема возникнет, поэтому я думаю, что проблема не в коде, который я использую, а в связывании клавиш ввода ключа возврата.

Должен ли я иметь некоторые особые соображения, когда я хочу получить ключ возврата?

Я использую следующий код в xaml, чтобы сделать привязку:

<DataGrid.InputBindings>
                <KeyBinding Key="Delete" Command="{Binding myCommand}"
                            CommandParameter="Delete"/>

                <KeyBinding Key="Return" Command="{Binding myCommand}"
                            CommandParameter="Return"/>
            </DataGrid.InputBindings>
</DataGrid.InputBindings>

Благодарю.

1 ответ

Решение

Вы перезаписываете существующую привязку ввода к CommitEditCommand вам нужно вручную выполнить эту команду самостоятельно, если вы хотите сохранить поведение по умолчанию.

(Ты можешь использовать CommitEdit для того, что вызывает команду.)

Другие вопросы по тегам