文本框在键入时没有KeyboardFocus,因此键绑定不起作用

时间:2019-04-26 08:38:07

标签: wpf xaml binding material-design-in-xaml

我正在XAML库中使用材质设计,而我的TextBoxes表现得很奇怪。当您在其中键入内容时,不会在TextBox上设置KeyboardFocus,因此按键绑定无效。当您单击TextBox时,它具有焦点并且可以进行按键绑定,但是一旦您开始键入内容,就会失去焦点,必须重新单击TextBox才能重新获得焦点。

<TextBox
  materialDesign:HintAssist.Hint="Type something..."
  Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
  Text="{Binding Name}"> <!--this binding works-->
  <TextBox.InputBindings>
      <KeyBinding Key="Enter" Command="{Binding SearchCommand}"/>
  </TextBox.InputBindings>
</TextBox>

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。这不是焦点问题,而是没有发生任何事情,因为默认情况下updatesourcetrigger设置为lostfocus,所以当您在我的应用程序中按Enter时,将不会发生任何事情,因为您仍然拥有与以前相同的Entry(Binding Name),并且忽略了。所以解决方案就是这样设置。

Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}"