【发布时间】:2011-11-24 00:51:42
【问题描述】:
我正在尝试创建一个非常简单的 WPF 应用程序。我想在用户按下“H”(不是 Control-H 或 Alt-H,只是 H)时调用一个命令处理程序。如果我在代码隐藏代码中使用以下内容:
var gesture = new KeyGesture(Key.H, ModifierKeys.None);
var inputBinding = new InputBinding(MyRoutedCommand, gesture);
InputBindings.Add(inputBinding);
我立即收到一个异常,说 KeyGesture 不支持键和修饰符组合。
(如果我创建 XAML 来做类似的事情,我会得到同样的例外)。
我的应用程序不接受键入的输入,应用程序中没有文本框,因此与文本并没有真正的冲突(至少在我看来)。我不会想到这会如此不寻常。
我在其他地方看到过 cmets 建议我可以为此创建自定义控件或拦截低级别的键盘按下,但这些似乎有很多开销。有更简单的想法吗?
【问题讨论】:
标签: .net wpf keyboard-shortcuts keyboard-events