我有这个MainWindow.xaml:
<Window.InputBindings>
<KeyBinding Key="O" Modifiers="Control" Command="{Binding OpenCommand}" />
<KeyBinding Key="S" Modifiers="Control" Command="{Binding SaveCommand}" />
</Window.InputBindings>
我有几个带有自己视图模型的子视图。例如,我有 a FileViewwith aFileViewModel和 a DataViewwith 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行为。
上面的代码不起作用。
你如何实现这种类型的键绑定/命令处理?