为什么WPF UpdateSourceTrigger无法正常工作

时间:2018-10-31 09:52:10

标签: c# wpf xaml updatesourcetrigger

为什么简单提供的代码会在每次按键时而不是在lostFocus上复制“源”文本?

<StackPanel>
    <TextBox Text="{Binding Text, ElementName=source, UpdateSourceTrigger=LostFocus}"/>
    <TextBox x:Name="source"/>
</StackPanel>

2 个答案:

答案 0 :(得分:1)

您的代码如下:

第一个TextBox绑定到其下面的TextBox控件。因此,第一个TextBox的文本将根据第二个TextBox的Text值更改。

答案是: 失去焦点是在更改第一个TextBox时。 当您更改第二个文本框时,由于它已与第一个文本框绑定,因此它会在第一个文本框上自动更新。

编辑: 我已经运行了该代码: 如果更改第一个TextBox,则仅当您失去焦点时,另一个TextBox才会更改。 如果您更改第二个,第一个将自动更改,与我期望的一样

答案 1 :(得分:0)

这很简单。每当绑定目标元素失去焦点时,带有LostFocus的UpdateSourceTrigger就会更新绑定。这不是双向的。绑定以预期的正确,正确的方式工作。