当我在文本框中按Enter键时,我尝试执行命令AddTodoCommand:
<TextBox x:Name="TbTodo" Text="{Binding TodoTask.Text, Mode=TwoWay}" >
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding AddTodoCommand}" />
</TextBox.InputBindings>
</TextBox>
方法正确执行但属性TodoTask.Text为null。
当我使用此命令单击按钮时,模型具有值:
<Button x:Name="BtnAdd" Command="{Binding AddTodoCommand}" Content="Button"
我认为按下按钮之前文本框会更改焦点并更新绑定。
输入后如何更新模型?
答案 0 :(得分:2)
TextBox.Text的默认UpdateSourceTrigger是LostFocus。这就是为什么你不能在你的TodoTask.Text中看到“新”值。解决此问题的一种方法是将UpdateSourceTrigger更改为PropertyChanged
答案 1 :(得分:0)
您可以删除文本框输入绑定,并将Button
xaml更改为使用 IsDefault 属性,如下所示,Enter将适用于此Button的任何文本框和{{1将被调用:
AddTodoCommand