0

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

<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 的值不会在保存的结果上更新。仅当我在编辑到文本框 2 后将鼠标焦点从文本框 1 移动时,结果才会更新。如何立即将文本框更新为属性?

4

1 回答 1

1

TextBox默认情况下更新LostFocus上的绑定源。TextBox按“保存”按钮似乎不会失去焦点。

您可以在每次更改后立即更新绑定源:

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

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

// textBox1 is your Textbox1
BindingExpression be = textbox1.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();
于 2012-05-01T09:29:25.827 回答