【发布时间】:2012-06-19 10:28:55
【问题描述】:
有没有办法在 XAML 中使用 KeyBinding 并在 OnKeyUp 上执行命令?
如果我想绑定左 ALT 键来执行我自己的菜单访问命令,因为 KeyBinding 在 OnKeyDown 上执行命令,我会得到一些不需要的行为。例如,当使用Alt+Tab 跳出应用程序时,该命令将触发,如果按住该键,该命令将重新触发,直到释放该键。
我知道 ALT 是一个修饰键,有点特殊,但是通过等待 OnKeyUp 可以避免这些问题。
【问题讨论】:
-
您总是可以忽略常规命令并在需要时自行触发它。只需在必要时调用 CanExecute 和 Execute。
-
没错,但我仍然希望有一个干净的 XAML 解决方案,而不涉及代码隐藏。不过,前景看起来很黯淡。 :)
-
部分干净的 XAML 将是附加行为。但是你仍然需要一些代码。