我正在开发一个 WPF 应用程序,其中有一个 RibbonWindow 类型的 MainWindow 和(显然)一个 Ribbon 控件;我正在尝试将 KeyGestures 添加到来自 viewmodel 的一些命令中,但无法做到,我已经阅读了很多关于并应用了一些给出的答案的问题和文章,但无法弄清楚出来。
我尝试过的一些事情:
1 从代码隐藏中添加 KeyGesture(甚至使用其他命令进行测试,例如 ApplicationCommands.Close):
private KeyGesture _closeGesture = new KeyGesture(Key.E, ModifierKeys.Control);
private KeyBinding _closeBinding;
//...
public MainWindow()
{
InitializeComponent();
_closeBinding = new KeyBinding(ApplicationCommands.Close, _closeGesture);
this.InputBindings.Add(_closeBinding);
}
2 直接在 XAML 中添加 KeyGesture:
<rcl:RibbonWindow.InputBindings>
<KeyBinding Command="ApplicationCommands.Close"
Key="E" Modifiers="Control" />
</rcl:RibbonWindow.InputBindings>
3 使用上述任何方法添加 KeyGesture,但将其绑定到 viewmodel 的命令,甚至使用其中的 KeyGesture 实现 RelayCommand。
我会很感激你能给我的任何帮助。