我的快捷键不起作用

7he*_*ing 1 c# wpf keyboard-shortcuts menuitem

我正在尝试向菜单项添加快捷方式,但是无法正常工作。

这是我的菜单项:

<MenuItem Name="openMenuItem" Header="Open file" InputGestureText="Ctrl+O" Command="{Binding OpenFile}"></MenuItem>
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

这是我的菜单图片:

在此处输入图片说明

Joe*_*ite 5

针对您特别提出的问题:

我在这里做错了什么?

我将您带到InputGestureText物业文件

此属性不会将输入手势与菜单项关联;它只是将文本添加到菜单项。

它的行为符合设计要求。InputGestureText只是在菜单项上显示一些文本;它不会改变行为,尤其是它实际上不会监听该键手势。鉴于WinForms 的相应属性确实会增加行为,这在某种程度上是出乎意料的,但是Text属性名称的后缀也将其调出-这不是输入手势,而是显示的文本告诉用户输入手势。使用RoutedUICommand时会自动设置它,但是当您自己实现ICommand时,则由您来设置InputGestureText和侦听按键手势。

您正在做的错误是期望此属性直观地表现。您远不是唯一一个对此感到困惑的人。

(显而易见的后续问题是“如何为我的MVVM命令添加键盘快捷方式”,但这是一个单独的问题-在StackOverflow上已被多次询问和回答;一旦您知道这是正确的问题,询问,您应该可以搜索现有的答案。)