文本框在键入时没有键盘焦点,因此 KeyBindings 无法正常工作

Textbox does not have KeyboardFocus when typing, KeyBindings not working as a result

我正在使用 XAML 库中的 material 设计,但我的文本框表现得很奇怪。当您在其中键入内容时,KeyboardFocus 未在 TextBox 上设置,因此键绑定不起作用。当您单击 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>

我找到了问题的解决方案。这不是焦点问题,而是什么都没有发生,因为 updatesourcetrigger 默认设置为 lostfocus,所以当您在我的应用程序中按 enter 时,什么也不会发生,因为您仍然有与以前相同的 Entry(Binding Name),它将是忽略。所以解决方案是这样设置。

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