如何从源WPF的lostfocus更新目标?

时间:2018-05-29 15:59:19

标签: wpf data-binding

我的wpf应用tb1tb2中有两个文本框 当tb1.text失去焦点时,我希望tb2.Text仅使用tb2 进行更新。

我试过了:

XAML

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

tb1.Text会立即更新。

可以使用Bindings来完成吗?

2 个答案:

答案 0 :(得分:2)

UpdateSourceTrigger的{​​{1}}属性的默认值为Binding,因此,如果您选择LostFocus作为绑定目标,则可以更新失去焦点的是tb2绑定源

现在您希望绑定以单向模式从目标到源(tb2-&gt; tb1)工作,因此您需要更改tb1 ModeBinding

OneWayToSource

如果单向来源定位,请使用<TextBox Name="tb1" /> <!--tb1.Text is source of binding--> <TextBox Name="tb2" Text="{Binding Text, ElementName=tb1, Mode=OneWayToSource}"/> ,否则使用默认值OneWay

答案 1 :(得分:0)

private void tb2_LostFocus(object sender, RoutedEventArgs e)
{
    tb1.Text = tb2.Text;
}