栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用WPF和.NET 3.5注册一个全局热键以说CTRL + SHIFT +(LETTER)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用WPF和.NET 3.5注册一个全局热键以说CTRL + SHIFT +(LETTER)?

我不确定您在这里所说的“全局”是什么意思,但是它就可以了(我假设您是在应用程序级别指的是命令,例如, 保存所有 可以通过

Ctrl
+
Shift
+ 从任何地方触发的命令
S
)。

您可以找到

UIElement
自己选择的全局对象,例如,顶层窗口,该窗口是需要此绑定的所有控件的父级。由于WPF事件的“冒泡”,子元素处的事件将一直冒泡直到控制树的根。

现在,首先您需要

  1. 使用
    InputBinding
    这样的命令将键组合与命令绑定
  2. 然后,您可以通过将该命令连接到您的处理程序(例如调用的代码
    SaveAll
    CommandBinding

对于

Windows
密钥,请使用正确的密钥枚举成员,
Key.LWin
或者
Key.RWin

    public WindowMain()    {       InitializeComponent();       // Bind Key       InputBinding ib = new InputBinding(MyAppCommands.SaveAll,new KeyGesture(Key.S, ModifierKeys.Shift | ModifierKeys.Control));       this.InputBindings.Add(ib);       // Bind handler       CommandBinding cb = new CommandBinding( MyAppCommands.SaveAll);       cb.Executed += new ExecutedRoutedEventHandler( HandlerThatSavesEverthing );       this.CommandBindings.Add (cb );    }    private void HandlerThatSavesEverthing (object obSender, ExecutedRoutedEventArgs e)    {      // Do the Save All thing here.    }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号