1

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

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

2 回答 2

1

您的代码内容如下:

第一个 TextBox 绑定到它下面的 TextBox 控件。所以第一个TextBox的文本会根据第二个TextBox的Text值变化。

答案是: 丢失焦点是在您更改第一个 TextBox 时。当您更改第二个时,由于它受第一个 TextBox 的约束,它会在第一个 TextBox 上自动更新。

编辑: 我已经运行了该代码:如果您更改第一个文本框,只有当您失去焦点时,另一个文本框才会更改。如果您更改第二个,第一个将自动更改,正如我所期望的那样

于 2018-10-31T10:46:48.423 回答
0

这很简单。每当绑定目标元素失去焦点时,带有 LostFocus 的 UpdateSourceTrigger 都会更新绑定源。它不像两种方式一样工作。正如预期的那样,绑定以正确、正确的方式工作。

于 2018-10-31T10:00:34.823 回答