为了账号安全,请及时绑定邮箱和手机立即绑定

WPF中的键盘快捷键

WPF中的键盘快捷键

WPF中的键盘快捷键我知道使用_而不是&,但我正在查看所有Ctrl+类型的快捷方式。Ctrl+ Z用于撤消,Ctrl+ S用于保存等。在WPF应用程序中实现这些是否有“标准”方法?或者是自己滚动的情况并将它们连接到任何命令/控制?
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

我理解标准方法是创建命令,然后将快捷键作为InputGestures添加到它们。

这使得快捷键即使没有连接到任何控件也可以工作。由于菜单项了解键盘手势,如果您将该命令挂钩到菜单项,它们将自动在菜单项文本中显示您的快捷键。

  1. 创建静态属性来保存命令(最好是作为为命令创建的静态类中的属性 - 但是对于一个简单的例子,只需在window.cs中使用静态属性):

    public static RoutedCommand MyCommand = new RoutedCommand();
  2. 添加应该调用方法的快捷键:

    MyCommand.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Control));
  3. 创建一个指向您的方法以在执行时调用的命令绑定。将它们放在UI元素的命令绑定中(例如,窗口)和方法:

    <Window.CommandBindings>
        <CommandBinding Command="{x:Static local:MyWindow.MyCommand}" Executed="MyCommandExecuted"/></Window.CommandBindings>private void MyCommandExecuted(object sender, ExecutedRoutedEventArgs e) { ... }


查看完整回答
反对 回复 2019-08-26
?
慕森卡

TA贡献1806条经验 获得超8个赞

我发现这正是我在寻找与WPF中的键绑定相关的内容:

<Window.InputBindings>
        <KeyBinding Modifiers="Control"
                    Key="N"
                    Command="{Binding CreateCustomerCommand}" /></Window.InputBindings>

请参阅博客文章MVVM CommandReference和KeyBinding


查看完整回答
反对 回复 2019-08-26
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

试试这个代码......

首先创建一个RoutedComand对象

  RoutedCommand newCmd = new RoutedCommand();
  newCmd.InputGestures.Add(new KeyGesture(Key.N, ModifierKeys.Control));
  CommandBindings.Add(new CommandBinding(newCmd, btnNew_Click));


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 1091 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信