为什么 wpf UpdateSourceTrigger 无法工作

why does wpf UpdateSourceTrigger fails to work

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

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

这很简单。只要绑定目标元素失去焦点,带有 LostFocus 的 UpdateSourceTrigger 就会更新绑定 source。两种方式都行不通。正如预期的那样,绑定以适当、正确的方式工作。

你的代码是这样写的:

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

答案是: 失去焦点是在您更改第一个文本框时。 当您更改第二个时,由于它受第一个 TextBox 的约束,因此它会自动更新到第一个。

编辑: 我有 运行 那个代码: 如果您更改第一个 TextBox,只有当您失去焦点时,另一个 TextBox 才会更改。 如果你改变第二个,第一个会自动改变,正如我所期望的那样