Создайте текстовое поле WPF, которое реагирует только на нажатия клавиш символов и несколько выбранных нажатий клавиш редактирования. - PullRequest
1 голос
/ 27 августа 2010

Текстовое поле WPF отвечает на множество команд редактирования.Я хочу исключить подавляющее большинство и заставить его реагировать на любой ввод текста и несколько команд редактирования, таких как backspace & delete.Я знаю, что могу обработать событие KeyDown, но я не вижу простого способа различения ввода символов и редактирования нажатий клавиш.

Ответы [ 2 ]

1 голос
/ 17 октября 2010

Вы можете использовать предварительный просмотр событий.Они происходят до фактических ключевых событий, которые фактически выполняют работу.Например, если вы хотите отключить стрелку вниз для перемещения вверх и вниз по тексту, в PreviewKeyDownEvent вы должны проверить «e.Key» для клавиши «вниз», и, если она найдена, и установить e.Handled = true.Это эффективно удаляет нажатие этой клавиши из обработки.Таким образом, KeyDown никогда не будет вызываться.

Используя этот метод, вы можете удалить определенные ключи или комбинации клавиш и модификаторов (например, CTRL-C, если вы хотите отключить ярлык «копировать»).

Надеюсь, это поможет!Если это так, не забудьте проголосовать и / или пометить его как принятый.

0 голосов
/ 31 августа 2010

WPF не имеет встроенного замаскированного текстового поля под .NET 3.5.
Вы найдете много стартовых мест, если будете искать в google и stackoverflow для: WPF Masked TextBox

...