Могу ли я создать приложение WPF с одной ключевой клавишей? Всюду есть учебник для создания горячих клавиш с модификаторами, например: [Alt] + [X]. Например, мне нужна глобальная горячая клавиша [F9]. Как это сделать в C# .NET 4.5?WPF Горячая клавиша одна клавиша, без клавиш модификаторов
ответ
Да, вы можете. Когда вы создаете свой командный объект, одна из вещей, которую вы можете передать, - это InputGestureCollection
, которая содержит список объектов, которые спускаются с класса InputGesture
. Одним из этих классов является класс KeyGesture
, который определяет конкретную последовательность клавиш, используемую для активации команды.
Одно из свойств ote KeyGesture
класс - Key
property, of type Key
. Это перечисление ключевых значений. Тот, который вы хотите, - Key.F9
.
Чтобы создать команду, вы делаете что-то вроде этого:
InputGestureCollection myCommandGestures = new InputGesturecollection();
myCommandGestures.Add(new KeyGesture(Key.F9);
RoutedCommand MyCommand = new RoutedCommand("MyCommand", typeof(MyViewModelClass), myCommandGestures);
РЕДАКТИРОВАНИЕ
Вышеуказанные работы в рамках только WPF. Если вы хотите глобальную горячую клавишу, вам придется вызвать функцию Win32 RegisterHotKey
. The answer to this question on the Visual Studio forum содержит ссылку на пример того, как это сделать.
Я не уверен, что вам нужно будет сделать обоим или просто вызвать функцию RegisterHotKey
, чтобы зарегистрировать вашу горячую клавишу.
- 1. Горячая клавиша для кнопки
- 2. Пользовательская глобальная горячая клавиша
- 3. Горячая клавиша для IE11
- 4. autohotkey - больше символов как одна горячая клавиша
- 5. Горячая клавиша радио кнопки
- 6. Зарегистрироваться Горячая клавиша
- 7. Java JOptionPane.showConfirmDialog горячая клавиша
- 8. Регистрация Горячая клавиша
- 9. специальная горячая клавиша eclipse
- 10. Горячая клавиша с форматированием
- 11. Вкладка «горячая клавиша» в Eclipse
- 12. firemonkey и глобальная горячая клавиша?
- 13. Как определить, когда горячая клавиша (клавиша быстрого доступа) нажата
- 14. Глобальная горячая клавиша для Firefox
- 15. Нажата кнопка как горячая клавиша
- 16. Общесистемная горячая клавиша для приложения
- 17. Пользовательская горячая клавиша для игры
- 18. Горячая клавиша для этого приложения?
- 19. IntelliJ Navigation Bar Горячая клавиша
- 20. Горячая клавиша Xcode для «вкладки»
- 21. Горячая клавиша для кнопки PrtScn
- 22. Горячая клавиша для JMenuItem JPopupMenu
- 23. Горячая клавиша для регистрации TFS
- 24. «горячая клавиша» для перехода вперед
- 25. Горячая клавиша для «Просмотр в обозревателе объектов»
- 26. Горячая клавиша для выбора слова в Eclipse
- 27. Горячая клавиша Eclipse во всех видах
- 28. Горячая клавиша для регулировки яркости в окнах
- 29. Winforms MenuStrip Подчеркнута Горячая клавиша Письмо
- 30. Изменение Webmatrix Горячая клавиша для комментариев
Спасибо вам, это полезно сейчас :) Если бы я получил одну горячую клавишу сейчас, могу ли я зарегистрировать ее как глобальную горячую клавишу? Мне нужно поймать F9 из каждого окна, когда мое приложение сведено к минимуму в лоток. – Tagon