为什么简单提供的代码会在每次按键时而不是在lostFocus上复制“源”文本?
<StackPanel>
<TextBox Text="{Binding Text, ElementName=source, UpdateSourceTrigger=LostFocus}"/>
<TextBox x:Name="source"/>
</StackPanel>
答案 0 :(得分:1)
您的代码如下:
第一个TextBox绑定到其下面的TextBox控件。因此,第一个TextBox的文本将根据第二个TextBox的Text值更改。
答案是: 失去焦点是在更改第一个TextBox时。 当您更改第二个文本框时,由于它已与第一个文本框绑定,因此它会在第一个文本框上自动更新。
编辑: 我已经运行了该代码: 如果更改第一个TextBox,则仅当您失去焦点时,另一个TextBox才会更改。 如果您更改第二个,第一个将自动更改,与我期望的一样。
答案 1 :(得分:0)
这很简单。每当绑定目标元素失去焦点时,带有LostFocus的UpdateSourceTrigger就会更新绑定源。这不是双向的。绑定以预期的正确,正确的方式工作。