WPF 窗体快捷键(热键)
2021-01-19 05:14
标签:switch 使用场景 str 前言 object 现在 刷新 ret 讲解
前言:在WPF项目开发当中,遇到了需要用到快捷键的需求,于是对热键做了一个快速学习,但是这方面的资源很少。。。 热键大致分为三种场景,下面用QQ的使用场景举例: 全局热键:QQ的Ctrl+Alt+A截图。 焦点热键:QQ消息栏的Shift+Enter文本换行。 窗体热键:Alt+F4关闭QQ的窗口。 在WPF当中,全局热键 和 焦点热键都可以轻松实现,下面我只对窗体热键进行讲解。 第一步:右键项目根目录 引用 —> 管理Nuget程序包 —> 搜索NHotkey.Wpf并下载安装 注册命令推荐加在Window(Page和UserControl中需要鼠标点击焦点后才能触发热键)废话少说,看代码: XAML中: 后台代码: 就是这样,现在即使你的应用程序没有焦点,热键绑定的命令也将被调用。 就可以实现Ctrl+S保存,F5刷新等下意识操作。 WPF 窗体快捷键(热键) 标签:switch 使用场景 str 前言 object 现在 刷新 ret 讲解 原文地址:https://www.cnblogs.com/lonelyxmas/p/12160870.html
Window.Resources>
RoutedUICommand x:Key="WinKeyDown" Text="F1" />
Window.Resources>
Window.InputBindings>
KeyBinding Gesture="F1" Command="{StaticResource WinKeyDown }" HotkeyManager.RegisterGlobalHotkey="True"/>
Window.InputBindings>
Window.CommandBindings>
CommandBinding Command="{StaticResource WinKeyDown}"
CanExecute="CommandBinding_CanExecute"/>
Window.CommandBindings>
//窗体热键
private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
switch (((System.Windows.Input.RoutedUICommand)e.Command).Text)
{
case "F1":
MessageBox.Show("deep dark fantasy");
break;
default:
return;
}
}