Есть ли возможность принудительно ввести Enter в качестве основного ключа в определенном виде? То, что я хочу достичь, - каждый раз, когда я нажимаю клавишу «Ввод», я хочу вызвать кнопку, у которой свойство IsDefault установлено на true, независимо от того, что сфокусировано.Кнопка IsDefault для WPF - переопределение всего
ответ
можно было бы, чтобы перехватить RoutedEvent
, прежде чем он доберется до управления, которые пытаются реагировать на него:
Подключение к PreviewKeyDown
событию, как далеко до визуального дерева, как вы хотите, чтобы поймать его. При необходимости отреагируйте на это, если нажата клавиша ввода, например. запустите тот же код, что и на вашей кнопке, а затем установите в eventargs Handled
значение true
.
private void previewKeyDownHandler(object sender, KeyEventArgs e)
{
if(e.Key == Key.Enter || e.Key == Key.Return)
{
e.Handled = true;
//Do your stuff
}
}
В Preview
события являются частью системы RoutedEvent
в WPF. Эти два механизма называются туннелированием и пузырьками. Here you can read more on that.
Это точно я упомянул в своем предыдущем комментарии, но спасибо за ответ в любом случае :) – MistyK
Извините, не расширил комментарии и пропустил поэтому ваш - это решение только пришло мне в голову, и никто еще не отправил ответ. Рад, что у вас есть что-то работоспособное, хотя :-) –
- 1. WPF/C#/XAML IsDefault Кнопка
- 2. Bypass Кнопка IsDefault
- 3. Удалить WPF IsDefault
- 4. Восстановление IsDefault и FocusScope
- 5. WPF MVVM: формат TextBox и кнопка с IsDefault, установленная на True
- 6. Переопределение тем в WPF
- 7. Переопределение SomeClass # для всего лишь одного экземпляра
- 8. Переопределение управления WPF
- 9. IsDefault вызывает фокус вместо щелчка
- 10. Может ли пользовательский элемент управления WPF реализовать свойство IsDefault
- 11. Переопределение подсказки в WPF
- 12. Кнопка эллипса в wpf
- 13. Свойства IsDefault и IsDefaulted
- 14. Paypal one Кнопка BuyNow для всего сайта
- 15. WPF переопределение ScrollVIewer в Listbox
- 16. snoop wpf virus всего
- 17. Переопределение цветов управления WPF программно
- 18. WPF Стиль для всего управления одним UserControl
- 19. Пользовательский курсор для всего приложения WPF
- 20. Мигающая кнопка в приложении WPF
- 21. Отключение/переопределение подсветки элементов управления WPF
- 22. WPF: Редактируемая кнопка радио
- 23. Кнопка в WPF ListItem
- 24. Кнопка стиля WPF
- 25. WPF DataGridHeaderTemplate как кнопка
- 26. WPF - кнопка смены фона
- 27. кнопка WPF EventTrigger = Button.IsEnabledChanged
- 28. Переопределение фона кнопки в WPF на Aero
- 29. WPF Borderless кнопка окна
- 30. WPF кнопка расположение
https://msdn.microsoft.com/en-us/library/system.windows.controls.button.isdefault(v=vs.110).aspx –
@AbinMathew это не ответ на мой вопрос. Проблема в том, что когда я нажимаю кнопку1, а затем нажимаю «Ввод», моя кнопка по умолчанию не вызывается, а еще раз кнопка1 из-за фокуса. Я хочу переопределить их всех. – MistyK
, если изменения фокуса затем установите фокус на кнопку по умолчанию в событии или команде click1 click. поэтому ваша кнопка по умолчанию будет работать при нажатии на вход. –