2012-05-01 11 views
0

私は2つのテキストボックスを持っています。値はプロパティからのバインドです。wpfでテキストボックスのマウスフォーカスが更新されない

<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"/> 

最初のテキストボックスの値を変更した後、[保存]ボタンを押します。テキストボックス1の値は保存された結果に更新されません。テキストボックス1からテキストボックス2にマウスのフォーカスを移動した場合にのみ、結果が更新されます。テキストボックスをプロパティに更新するにはどうしたらいいですか?

ありがとうございます。

答えて

1

TextBoxデフォルトでは、バインディングソースはLostFocusに更新されます。 TextBoxは、 "保存"ボタンを押してフォーカスを失っていないようです。

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

のか、「保存」ボタンをクリックしたときに、明示的なバインディングソース更新:

はすぐにとすべての変更後にバインディングソースを更新することができます

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

感謝を。これはうまく動作します! – olidev

関連する問題