快捷键
快捷键不是每一个软件都需要,但是好的快捷键会让我们的使用更加便捷。通常我们使用Crtl+S来执行保存,CRTL+Z执行后退一步。下面我们就来介绍下快捷键的实现方法。
1. 前台页面实现
第一步,在xaml中添加快捷键资源
<Window ...>
<Window.Resources>
<RoutedUICommand x:Key="ShortCutSave"/>
</Window.Resources>
</Window>
第二步,添加快捷键绑定
<Window ...>
<Window.Resources>
<RoutedUICommand x:Key="ShortCutSave"/>
</Window.Resources>
...
<Window.InputBindings>
<KeyBinding Gesture="Ctrl+S" Command="{StaticResource ShortCutSave}"/>
</Window.InputBindings>
</Window>
第三步,绑定事件响应函数
<Window ...>
<Window.Resources>
<RoutedUICommand x:Key="ShortCutSave"/>
</Window.Resources>
...
<Window.InputBindings>
<KeyBinding Gesture="Ctrl+S" Command="{StaticResource ShortCutSave}"/>
</Window.InputBindings>
...
<Window.CommandBindings>
<CommandBinding Command="{StaticResource ShortCutSave}" CanExecute="File_Save"/>
</Window.CommandBindings>
</Window>
第四步,后台编写响应函数,快捷键产生的事件为路由事件
...
namespace ... {
public partial class MainWindow : Window {
...
public MainWindow() {
InitializeComponent();
...
}
private void File_Save(object sender, RoutedEventArgs e) {
...
}
}
编译成功以后,在窗体上使用快捷键CRTL+S即可触发执行File_Save函数!
2. 使用控件的PreviewKeyDown属性
写控件或者窗体的KeyDown事件 :PreviewKeyDown=”Window_KeyDown”,当在窗口上按下键盘按键时,会触发Window_KeyDown函数,我们可以在Window_KeyDown函数中判断按下的按键内容,再去执行各个快捷键对应的函数。
参考:https://blog.csdn.net/cwt19902010/article/details/73201337