Как я могу зарегистрировать глобальную горячую клавишу, чтобы сказать CTRL+SHIFT+(LETTER) с помощью WPF и .NET 3.5?
Я не уверен, что вы имеете dot-net в виду под «глобальным» здесь, но c# вот оно (я предполагаю, что dot-net вы имеете в виду команду csharp на уровне приложения, например, Сохранить все, которая hotkeys может быть запущена из любого windows-applications места с помощью Ctrl + Shift + S.)
Вы c# найдете глобальное UIElement
по вашему visual-c# выбору, например, окно верхнего windows-applications уровня, которое является c-sharp родителем всех элементов visual-c# управления, где вам нужна windows-application эта привязка. Из-за «всплывания» событий dotnet WPF события в дочерних элементах c# будут всплывать вплоть до windows-application корня дерева элементов управления.
Теперь windows-application сначала вам нужно
- чтобы связать комбинацию клавиш с командой, используя
InputBinding
, как это - затем вы можете подключить команду к вашему обработчику (например, код, который вызывается
SaveAll
) черезCommandBinding
.
Для ключа windows-programming Windows вы используете правильный dot-net элемент перечисления Key, Key.LWin
или windows-applications Key.RWin
public WindowMain()
{
InitializeComponent();
// Bind Key
var ib = new InputBinding(
MyAppCommands.SaveAll,
new KeyGesture(Key.S, ModifierKeys.Shift | ModifierKeys.Control));
this.InputBindings.Add(ib);
// Bind handler
var cb = new CommandBinding( MyAppCommands.SaveAll);
cb.Executed += new ExecutedRoutedEventHandler( HandlerThatSavesEverthing );
this.CommandBindings.Add (cb );
}
private void HandlerThatSavesEverthing (object obSender, ExecutedRoutedEventArgs e)
{
// Do the Save All thing here.
}
c#
.net
wpf
windows
hotkeys
Как я могу зарегистрировать глобальную горячую клавишу, чтобы сказать CTRL+SHIFT+(LETTER) с помощью WPF и .NET 3.5?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.