我有一个 WPF(prism)应用程序,它使用了许多其他的 WPF 组件和甚至包含其他窗口的 win32 dlls(wpf 和 win32)。
当用户按下功能键(F2-F12)时,我想要打开特定的程序功能。
类似于这样:
RoutedCommand commandF4 = new RoutedCommand();
commandF4.InputGestures.Add(new KeyGesture(Key.F4));
Application.Current.MainWindow.CommandBindings.Add(new CommandBinding(commandF4, CallCommandF4));
问题是:只有MainWindow具有焦点时,这才有效。如果我打开一个次要的WPF窗口(或win32窗口),则键绑定不再适用。
是否有任何方法为F4(或其他键)添加应用程序范围的全局热键? 或至少是WPF范围的热键?