我有一个应用程序,其中有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)
如果可能的话,我想赞扬那个人.请再次出现:)