将键盘快捷键绑定到WPF中视图模型中的命令

Der*_*all 7 c# wpf mvvm

我有一个应用程序,其中有UserControl一个工具栏.此工具栏有一个按钮Execute,该按钮又将其命令绑定到ICommand视图模型作为属性公开的派生类.

<Button Grid.Row="0" Command="{Binding ExecuteCommand}">Execute</Button>
Run Code Online (Sandbox Code Playgroud)

现在,我想将它绑定到键盘快捷键(F5).这需要在以后的上下文中绑定,UserControl仅当此用户控件此时可见时才适用.

另一种选择是将它绑定到KeyDown实际包含要执行的文本的文本框中,但是当涉及到如何将事件从控件路由到视图模型中的命令时,我真的很不稳定,而代码中没有真正难看的黑客攻击 - 用户控件的后面.

任何指针都表示赞赏!

Der*_*all 25

还有另一个答案因某种原因消失了.这工作得很好:

<UserControl.InputBindings>
  <KeyBinding Key="F5" Command="{Binding ExecuteCommand}" />
</UserControl.InputBindings>
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想赞扬那个人.请再次出现:)