KeyBindings WPF在加载时不触发

时间:2015-01-01 18:15:16

标签: wpf xaml

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内容,那么它可以正常工作。

对于什么是错误的任何想法?

1 个答案:

答案 0 :(得分:2)

按下退出键时,您的控件可能没有焦点。 您应该将Focusable的{​​{1}}属性设置为UserControl,然后在True的加载事件中调用Focus()方法。