【问题标题】:why does wpf UpdateSourceTrigger fails to work为什么 wpf UpdateSourceTrigger 无法工作
【发布时间】:2018-10-31 09:52:10
【问题描述】:

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

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

【问题讨论】:

  • UpdateSourceTrigger 将从其绑定的文本框触发,而不是属性。
  • 因为无论何时更新 source 属性,每次按键都会更新 target 属性(source.Text)。

标签: c# wpf xaml updatesourcetrigger


【解决方案1】:

您的代码内容如下:

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

答案是: lostfocus 是在您更改第一个文本框时。 当您更改第二个时,由于它受第一个 TextBox 的约束,它会在第一个 TextBox 上自动更新。

编辑: 我已经运行了该代码: 如果你改变了第一个TextBox,只有当你失去焦点时,另一个TextBox才会改变。 如果您更改第二个,第一个将自动更改,正如我所料。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2017-04-23
      相关资源
      最近更新 更多