Всюду в приложении мне нужно использовать ENTER для перехода к следующему элементу управления (то же самое, что и Tab), и я делаю это с помощью EventManager.RegisterClassHandler, KeyDownEvent для текстовых полей в Application_Startup. Но для одного конкретного текстового поля (который является входом для сканера штрих-кода), я хочу, чтобы фокус позволял многократно сканировать. Поэтому он должен получить номер, обработать его, затем очистить ящик и сохранить фокус для следующего чтения. Считыватель штрих-кодов автоматически отправляет ENTER в конце чтения. Текстовое поле должно по-прежнему иметь возможность потерять фокус по выбору пользователя (например, щелчок мышью в другом поле)Как сохранить фокус клавиатуры в текстовом поле?
ответ
Явно обработайте PreviewKeyDown
на этом поле и установите Handled
на true
на аргументы события. Он выполняется перед любыми обработчиками KeyDown
.
Я просто пробовал, похоже, что обработчик класса выполняется первым, но это хорошая идея, чтобы изучить, может быть, я найду какое-то решение ... Спасибо –
Вы всегда можете использовать 'PreviewKeyDown' для предотвращения« KeyDown ». –
ДА! Вот и все. Благодаря! –
- 1. Переместить курсор/фокус на другом текстовом поле
- 2. Как сохранить фокус клавиатуры на одном компоненте?
- 3. Как правильно обрабатывать фокус на текстовом поле?
- 4. Установить фокус на текстовом поле в WPF
- 5. В текстовом поле фокус открыт Popup AngularJs
- 6. Установить фокус в текстовом поле WPF
- 7. Предотвращение пользовательской клавиатуры в текстовом поле
- 8. Имитировать события клавиатуры в текстовом поле WPF
- 9. Как отключить навигацию клавиатуры jQuery, когда фокус находится на вводе текста или в текстовом поле?
- 10. Как сохранить текст в текстовом поле?
- 11. Как сохранить текст в текстовом поле
- 12. Как сохранить шрифт в унаследованном текстовом поле?
- 13. Как сохранить данные в отключенном текстовом поле?
- 14. Как сохранить текст в текстовом поле
- 15. Как сохранить значение в текстовом поле переменной
- 16. Фокус на созданном ajax текстовом поле
- 17. Удалить фокус на первом текстовом поле
- 18. Firefox теряет фокус на вложенном текстовом поле
- 19. Скрыть клавиатуру iOS, поддерживая фокус на текстовом поле
- 20. C# установить фокус на текстовом поле
- 21. Попытка очистить поле ошибки, когда фокус находится в текстовом поле
- 22. как отключить события клавиатуры в текстовом поле ввода в javascript
- 23. Держите фокус на текстовом поле в телефоне Windows 8
- 24. jquery - Как вернуть фокус в том же текстовом поле
- 25. Как установить фокус в боковом текстовом поле автозаполнения
- 26. фокус в текстовом поле после того, как текст asp.net C#
- 27. Как настроить фокус на определенный индекс текста в текстовом поле?
- 28. Как выделить текст в текстовом поле, когда он получает фокус
- 29. Как сохранить фокус в том же текстовом поле в WPF MVVM?
- 30. Как игнорировать * ввод с клавиатуры в текстовом поле
У вас нет. Просто подключитесь к событиям клавиатуры непосредственно через [TextCompositionManager] (https://msdn.microsoft.com/en-us/library/system.windows.input.textcompositionmanager%28v=vs.110%29.aspx?f=255&MSPPError= -2147217396). Вы можете наблюдать за ключами, когда они сталкиваются, и сбрасывать пользовательское событие, когда вход соответствует выходному сигналу штрих-кода. Если вы хотите одеть его в MVVM, выставляйте свойство ICommand в окне, к которому вы привязываете свою модель просмотра, и запускайте эту команду при сканировании. – Will