Как обновить цель с потерянного фокуса исходного WPF? - PullRequest
0 голосов
/ 29 мая 2018

В моем приложении wpf есть два текстовых поля tb1 и tb2.Я хочу, чтобы tb1.text обновлялось только tb2.Text , когда tb2 теряет фокус.Я старался:

xaml

<TextBox Name="tb1" Text="{Binding Text, ElementName=tb2 }" "/>
<TextBox Name="tb2" /> 

Но tb1.Text обновляется мгновенно.Можно ли это сделать с помощью привязок?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Значением по умолчанию для UpdateSourceTrigger свойства Binding является LostFocus, поэтому, если вы выберете tb2 в качестве цели привязки , вы можете обновить tb1 или привязку источник при потере фокуса.

Теперь необходимо, чтобы привязка работала в одностороннем режиме от цели к источнику (tb2-> tb1), поэтому вам нужно изменить Mode из Binding до OneWayToSource.

<TextBox Name="tb1" /> <!--tb1.Text is source of binding-->
<TextBox Name="tb2" Text="{Binding Text, ElementName=tb1, Mode=OneWayToSource}"/> 

в случае одностороннего источника к цели используйте OneWay, в противном случае используйте значение по умолчанию TwoWay.

0 голосов
/ 29 мая 2018
private void tb2_LostFocus(object sender, RoutedEventArgs e)
{
    tb1.Text = tb2.Text;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...