相关疑难解决方法(0)

XAML - 如何拥有全局inputBindings?

我有一个带有几个窗口的WPF应用程序.我想定义GLOBAL inputBindings.

要定义LOCAL inputbindings,我只需在Window.InputBindings或UserControl.InputBindings中声明输入.

要定义GLOBAL,我希望我可以对Application类做同样的事情......

<Application
....>
<Application.InputBindings>
...
</Application.InputBindings>
Run Code Online (Sandbox Code Playgroud)

如果我在2个不同的窗口中有相同的绑定,我必须编码两次.这不符合DRY的理念,我猜有更好的方法......

编辑:在他的回答中,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> 
Run Code Online (Sandbox Code Playgroud)

它引发了一个错误:错误MC3080:无法设置Property Setter'InputBindings',因为它没有可访问的set访问器.

我的风格错了吗?还有其他解决方案吗?

有任何想法吗?谢谢!

wpf xaml inputbinding

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

inputbinding ×1

wpf ×1

xaml ×1