WPF热键一个键,没有修改器键



我可以用一键热键制作WPF应用程序吗?Everywhere是使用修改器制作热键的教程,如:[Alt]+[X]。例如,我需要制作全局热键[F9]。我如何在C#中做到这一点。净4.5?

可以。创建命令对象时,可以传递的内容之一是InputGestureCollection,它包含从InputGesture类派生的对象列表。其中一个类是KeyGesture类,它定义了用于激活命令的特定密钥序列。

KeyGesture类的属性之一是类型为KeyKey属性。这是键值的枚举。你想要的是Key.F9

要创建命令,您需要执行以下操作:

InputGestureCollection myCommandGestures = new InputGesturecollection();
myCommandGestures.Add( new KeyGesture( Key.F9 );
RoutedCommand MyCommand = new RoutedCommand( "MyCommand", typeof( MyViewModelClass ), myCommandGestures );

编辑

以上仅适用于WPF。如果你想要一个全局热键,你必须调用Win32 RegisterHotKey函数。VisualStudio论坛上这个问题的答案包含一个链接,指向如何做到这一点的示例。

我不确定您是必须同时执行这两项操作,还是只调用RegisterHotKey函数来注册热键。

相关内容

  • 没有找到相关文章

最新更新