【发布时间】:2015-04-16 20:54:54
【问题描述】:
所以我有以下 KeyBindings:
<Page.InputBindings>
<KeyBinding Key="Space" Command="{Binding AcceptCommand}" />
<KeyBinding Key="Esc" Command="{Binding CancelCommand}"/>
</Page.InputBindings>
我还使用附加行为将 InputBindings 传播到祖先窗口,因为如果我没有焦点问题,并且命令并不总是在我想要的时候被调用。 Here's a link 方便的方法。
我的问题是 KeyBindings 发生在 KeyDown 上,我希望它们发生在 KeyUp 上。根据我的阅读,这是不可能的,您必须处理 KeyUp 事件并从代码隐藏中执行所有操作。虽然这并不理想,但如果必须,我会这样做,但是我不知道如何将 KeyUp 从页面传播到窗口。
我尝试进行类似于输入绑定的附加行为,但事件的本质是我无法分离事件,也无法检查事件是否为空,除非我在拥有事件的实际类中(在这种情况下,Page)。
有人对如何做到这一点有任何想法吗?
【问题讨论】: