我UserControl
内有ContentControl
。我希望在按下Escape
键时关闭用户控件。所以我使用了这样的KeyBinding
:
<UserControl.CommandBindings>
<CommandBinding Command="{StaticResource CloseCommand}" Executed="Close" />
</UserControl.CommandBindings>
和
<UserControl.InputBindings>
<KeyBinding Key="Escape" Command="{StaticResource CloseCommand}" />
</UserControl.InputBindings>
按下Escape
键时,此代码应该触发CloseCommand
。但是第一次加载UserControl时它不会触发。如果我导航并使用另一个UserControl更改ContentControl
内容,那么它可以正常工作。
对于什么是错误的任何想法?
答案 0 :(得分:2)
按下退出键时,您的控件可能没有焦点。
您应该将Focusable
的{{1}}属性设置为UserControl
,然后在True
的加载事件中调用Focus()
方法。