当子窗口聚焦在wpf时,如何执行主窗口键绑定?

时间:2013-08-01 06:46:41

标签: c# wpf silverlight c#-4.0 wpf-controls

我已将键绑定绑定到我的wpf主窗口,如下所示,

<Window.InputBindings>
    <KeyBinding Key="F2" Command="{Binding TestCommand}"/>
</Window.InputBindings>

通常它执行得很好。如果打开任何新的子窗口(当前已关注),则表示主窗口键绑定不起作用。

我知道,键绑定只会针对焦点项目执行,但是这里我想执行即使它没有集中。有任何方法可以做到这一点,如果有可能请与我分享你的想法。

这对我来说是一个严重的问题。

任何人请提供您的建议吗?

1 个答案:

答案 0 :(得分:1)

WPF Behavior: Global Application Shortcut Keys

似乎是你在寻找什么。我对作者的代码进行了一些小的修改,以获得您所需的功能(而不是传递InputBindings集合,让Behavior直接从AssociatedObject中选择它。也取出了需要修改键的限制,虽然我建议你仔细阅读文章中作者的注释并将其纳入你的要求)

Sample download for your requirements

^^我可以得到你所要求的行为,但是要通过Behavior<T>来看看你是否可以更好地为自己进行优化(我实际上只看到了与你的具体要求有关的东西。)< / p>