鼠标焦点在文本框上没有在wpf中更新

时间:2012-05-01 09:04:49

标签: wpf data-binding textbox

我有两个文本框。值是从属性绑定的:

<TextBlock Text="Input 1" Margin="3,3,3,3" FontWeight="Normal" Foreground="#FFF4E7CA"/>

<TextBox Text="{Binding Processing.Input1}" Margin="3,3,6,3" FontWeight="Normal"/>

<TextBlock Text="Input 2" Margin="3,3,3,3" FontWeight="Normal" Foreground="#FFF4E7CA"/>

<TextBox Text="{Binding Processing.Input2}" Margin="3,3,6,3" FontWeight="Normal"/>

更改第一个文本框中的值后,按“保存”按钮。将不会在保存的结果上更新Textbox1的值。仅当我将编辑后的鼠标焦点从文本框1移动到文本框2后,结果才会更新。如何立即将文本框更新到属性?

提前致谢。

1 个答案:

答案 0 :(得分:1)

默认情况下,

TextBox会更新LostFocus上的绑定来源。通过按“保存”按钮,TextBox似乎不会失去焦点。

您可以使用以下命令在每次更改后立即更新绑定源:

Text="{Binding Processing.Input1, UpdateSourceTrigger=PropertyChanged}"

或在“保存”按钮上显式更新绑定源点击:

// textBox1 is your Textbox1
BindingExpression be = textbox1.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();