我正在尝试创建一个非常简单的WPF应用程序。 我想在用户按下“H”(不是Ctrl-H或Alt-H,只是H)时调用命令处理程序。 如果在代码后台中使用以下代码:
var gesture = new KeyGesture(Key.H, ModifierKeys.None);
var inputBinding = new InputBinding(MyRoutedCommand, gesture);
InputBindings.Add(inputBinding);
我立即收到一个异常,提示KeyGesture不支持所提供的键和修改器组合。
(如果我创建XAML来执行类似的操作,我会得到相同的异常)
我的应用程序不接受输入,应用程序中没有文本框,因此在我的想法中没有与文本冲突的问题。我认为这不会那么不寻常。
我在其他地方看到评论说我可以为此创建自定义控件或以低级别拦截键盘按键,但这些似乎过于繁琐。您有更简单的想法吗?