我有一个包含多个窗口的WPF应用程序。我想定义全局输入绑定。
要定义本地输入绑定,我只需在Window.InputBindings或UserControl.InputBindings中声明输入即可。
为了定义全局输入绑定,我希望能够使用Application类执行相同的操作...
如果我在两个不同的窗口中有相同的绑定,我必须编写两次代码。这不符合D.R.Y.的理念,我想肯定有更好的方法...
编辑:在他的回答中Kent Boogaart建议我使用Style。不幸的是,我无法弄清楚如何定义它。这是代码:
要定义本地输入绑定,我只需在Window.InputBindings或UserControl.InputBindings中声明输入即可。
为了定义全局输入绑定,我希望能够使用Application类执行相同的操作...
<Application
....>
<Application.InputBindings>
...
</Application.InputBindings>
如果我在两个不同的窗口中有相同的绑定,我必须编写两次代码。这不符合D.R.Y.的理念,我想肯定有更好的方法...
编辑:在他的回答中Kent Boogaart建议我使用Style。不幸的是,我无法弄清楚如何定义它。这是代码:
<Application.Resources>
<Style TargetType="Window">
<Setter Property="InputBindings">
<Setter.Value>
<Window.InputBindings>
<KeyBinding KeyGesture="Ctrl+M" Command="local:App.MsgCommand />
</Window.InputBindings>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
它引发了一个错误: 错误MC3080:属性设置器'InputBindings'无法设置,因为它没有可访问的设置访问器。
我的样式有问题吗? 还有其他解决方案吗?
有任何想法吗?谢谢!