我正在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>
答案 0 :(得分:0)
我找到了解决问题的方法。这不是焦点问题,而是没有发生任何事情,因为默认情况下updatesourcetrigger设置为lostfocus,所以当您在我的应用程序中按Enter时,将不会发生任何事情,因为您仍然拥有与以前相同的Entry(Binding Name),并且忽略了。所以解决方案就是这样设置。
Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}"