Когда я делаю привязку ввода к клавише «return» в DataGrid, я не покидаю ячейку редактирования - PullRequest
2 голосов
/ 08 февраля 2012

Когда я нахожусь в сетке, я хочу захватить некоторые ключи, чтобы что-то сделать.Я фиксирую клавишу «удалить», и у меня нет проблем, но когда я пытаюсь перехватить клавишу «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 Ответ

1 голос
/ 09 февраля 2012

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

(Вы можете использовать CommitEdit для этого, который вызывает команду.)

...