如何使"global" wpf 应用程序热键



我正在开发一个WPF应用程序,其中有许多窗口。像往常一样,主窗口允许打开其他窗口。我想创建应用程序级热键(快捷方式(,它将打开特定窗口,并且可以在应用程序的每个窗口中工作。

我尝试在我的 MainWindow 类中使用 CommandBinding,请参阅下面的示例,但如果主窗口只有焦点(实际上应该如此(,它就可以工作。我还尝试了这个问题中的第二种方法 WPF 中的应用程序级快捷键,并创建了绑定到键"P",但是每当我按 P 时,即使是 TextBox 输入文本或类似的东西,窗口也会打开。

我希望热键在我的应用程序的每个窗口中都能正常工作,但如果它是文本输入或其他内容,则不会。我可能错误地使用了该解决方案,为此我提供了一个链接,如果是这样,我将非常感谢有人向我解释如何正确使用它。

热键的最佳做法是对其使用修饰符。

我建议添加 CTRL 键作为命令的修饰符,以便用户必须点击按Ctrl + P 触发您的热键。然后在文本框或其他地方键入 P 不会引起问题。

<KeyBinding Modifiers="Ctrl" Key="P" Command="{Binding SomeCommand}"> 
</KeyBinding>

相关内容

最新更新