我有一个显示许多用户控件的窗口。其中一个需要暴露一些键盘快捷键,我已经定义如下: -
<UserControl.InputBindings>
<KeyBinding Key="N"
Modifiers="Control"
Command="{Binding AddCommand}" />
..etc..
</UserControl.InputBindings>
用户控件本身有各种子控件 - TextBoxes,DataGrid,按钮等。键盘快捷键将用于操作DataGrid中的项目。
当我点击UC时,键盘快捷键可能会也可能不会起作用,具体取决于我点击的位置。例如。点击DataGrid后他们不会工作,但点击TextBox或Button后会有效。
我认为点击UC上的任何地方都会自然地给它集中注意力。键盘焦点和鼠标焦点是两个不同的东西吗?现在还没有真正处理过这种事情。
如何让键盘快捷键正常工作 - 无论是首次出现UC,还是用户点击其中的任何位置?