【发布时间】:2012-08-21 21:55:24
【问题描述】:
我遇到了一个小问题,我就是想不通:
我想要两个不同的键盘快捷键工作。一个是ctrl+add,另一个是add。问题是,每当我按下ctrl+add 时,也会执行add 命令。
我用下面的代码试了一下(我使用了 KeyDown 事件):
if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Add)
something();
if (Keyboard.Modifiers == ModifierKeys.None && e.Key == Key.Add)
someOther();
【问题讨论】:
-
我最终做了以下事情:我在带有控制修饰符的命令中将 e.Handled 设置为 true,在另一个命令中,我在 if 括号中添加了“&& !e.Handled”。 ..这是正确的做法吗?
-
您的示例代码可能更紧凑,但它应该可以按预期工作。无需设置 e.Handled。
-
那么它怎么能更紧凑:)?在不设置 e.Handled 的情况下,它总是在按 ctrl+add 时执行 something() 和 someOther(),当只想执行 something() 时...