0

私は2つのテキストボックスを持っています。値はプロパティからバインドされます。

<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 に答える