我有这个MainWindow.xaml
:
<Window.InputBindings>
<KeyBinding Key="O" Modifiers="Control" Command="{Binding OpenCommand}" />
<KeyBinding Key="S" Modifiers="Control" Command="{Binding SaveCommand}" />
</Window.InputBindings>
我有几个带有自己视图模型的子视图。例如,我有 a FileView
with aFileViewModel
和 a DataView
with a DataViewModel
。在两个视图模型中,我都有一个实现OpenCommand
:
public ICommand OpenCommand
{
get
{
if (openCommand == null)
{
openCommand = new RelayCommand(param => this.OpenFile());
}
return openCommand;
}
}
当我按Ctrl+时O,我希望OpenCommand
为活动视图的视图模型执行命令。因此,如果我按下我的 , 中的键FileView
,OpenFile()
就会被执行。如果我在我的 , 中输入密钥DataView
,OpenData()
将被执行。一种MDI
行为。
上面的代码不起作用。
你如何实现这种类型的键绑定/命令处理?