将快捷方式事件发送到子视图

时间:2016-10-10 13:41:07

标签: c# wpf mvvm keyboard-shortcuts

我有一个带有几个内部子视图的WPF窗口。有时我交换这些视图,将标签更改为其他视图,甚至用新视图打开新窗口。

大多数视图都做同样的事情,添加一些新项目,所以我想创建一个快捷方式,在当前活动ViewModel的当前活动View上触发命令。

我正在跳这样的东西:

<Window.InputBindings>
    <KeyBinding Modifiers="Control"
                Key="A"
                Command="{Binding AddCommand}" />
</Window.InputBindings>

只需一次,让MainViewModel将命令发送到当前有效ViewModel

问题是这个快捷方式在启动时运行良好,但是一旦我点击一个内部子视图,shorcut就再也不会再次触发,只有当我点击窗口的菜单时它再次起作用。

我很确定这与focus有关,但我不知道如何解决这个问题。我的主要目标是避免为我的每个子视图重复这行代码。

我如何实现这一目标?

0 个答案:

没有答案