我有一个带有几个内部子视图的WPF窗口。有时我交换这些视图,将标签更改为其他视图,甚至用新视图打开新窗口。
大多数视图都做同样的事情,添加一些新项目,所以我想创建一个快捷方式,在当前活动ViewModel
的当前活动View
上触发命令。
我正在跳这样的东西:
<Window.InputBindings>
<KeyBinding Modifiers="Control"
Key="A"
Command="{Binding AddCommand}" />
</Window.InputBindings>
只需一次,让MainViewModel
将命令发送到当前有效ViewModel
。
问题是这个快捷方式在启动时运行良好,但是一旦我点击一个内部子视图,shorcut就再也不会再次触发,只有当我点击窗口的菜单时它再次起作用。
我很确定这与focus
有关,但我不知道如何解决这个问题。我的主要目标是避免为我的每个子视图重复这行代码。
我如何实现这一目标?