2012-05-01 2 views
0

У меня есть два текстовых поля. Значения связываются с свойствами:Мышь сосредоточена на текстовом поле, которое не обновляется в 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

Смежные вопросы