我的wpf应用tb1
和tb2
中有两个文本框
当tb1.text
失去焦点时,我希望tb2.Text
仅使用tb2
进行更新。
我试过了:
XAML
<TextBox Name="tb1" Text="{Binding Text, ElementName=tb2 }" "/>
<TextBox Name="tb2" />
但tb1.Text
会立即更新。
可以使用Bindings来完成吗?
答案 0 :(得分:2)
UpdateSourceTrigger
的{{1}}属性的默认值为Binding
,因此,如果您选择LostFocus
作为绑定目标,则可以更新失去焦点的是tb2
或绑定源。
现在您希望绑定以单向模式从目标到源(tb2-&gt; tb1)工作,因此您需要更改tb1
Mode
到Binding
。
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;
}