键盘和快捷键
实现了ICommandSource
接口的各种控件都有一个HotKey
属性,您可以设置或绑定它。按下快捷键将执行与控件绑定的命令。
<Menu>
<MenuItem Header="_File">
<MenuItem x:Name="SaveMenuItem" Header="_Save" Command="{Binding SaveCommand}" HotKey="Ctrl+S"/>
</MenuItem>
</Menu>
您还可以使用HotKeyManager
类的静态方法来从代码中设置和获取快捷键:
InitializeComponent();
HotKeyManager.SetHotKey(saveMenuItem, new KeyGesture(Key.S, KeyModifiers.Control));
键和修饰键
一个快捷键必须有一个Key和零个或多个KeyModifiers。在XAML中使用HotKey
属性设置快捷键时,字符串将被解析为KeyGesture。解析键和修饰键使用了Enum.Parse,但可以使用Ctrl
代替Control
或Win
代替Meta
等同义词。