【问题标题】:How can I make "global" wpf application hotkeys如何制作“全局”wpf 应用程序热键
【发布时间】:2019-11-22 02:51:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# wpf hotkeys commandbinding


    【解决方案1】:

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

    我建议添加 CTRL 键作为命令的修饰符,这样用户就必须点击 CTRL + P 触发您的热键。然后在文本框或其他地方输入 P 不会导致问题。

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

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 2023-03-31
      • 1970-01-01
      • 2014-01-02
      • 2011-05-28
      • 2016-07-12
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多