Wpf 为什么在这种情况下,数据绑定不会';反之亦然?

Wpf 为什么在这种情况下,数据绑定不会';反之亦然?,wpf,2-way-object-databinding,Wpf,2 Way Object Databinding,第一个具有所需的影响-更改文本框中的文本,标签的内容会更改,而第二个则不会更改。为什么? <StackPanel> <Label Name="displayText" Content="{Binding ElementName=displayText, Path=Content, Mode=TwoWay}"/> <TextBox Name="sourceInfo"/> </StackPanel> <

第一个具有所需的影响-更改文本框中的文本,标签的内容会更改,而第二个则不会更改。为什么?

 <StackPanel>
        <Label Name="displayText" Content="{Binding ElementName=displayText, Path=Content, Mode=TwoWay}"/>
        <TextBox Name="sourceInfo"/>
    </StackPanel>

<StackPanel>
        <Label Name="displayText"/>
        <TextBox Name="sourceInfo" Text="{Binding ElementName=displayText, Path=Content, Mode=TwoWay}"/>
    </StackPanel>

这两项工作:

  <StackPanel>
     <Label Name="displayText2" 
            Content="{Binding ElementName=sourceInfo2, Path=Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
     <TextBox Name="sourceInfo2"/>
  </StackPanel>

  <StackPanel>
     <Label Name="displayText"/>
     <TextBox Name="sourceInfo" 
              Text="{Binding ElementName=displayText, Path=Content, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
  </StackPanel>


您需要绑定到正确项上的正确属性。在顶部案例中,您将标签绑定到其自己的内容属性。。。哎呀。

你确定第一个片段有效吗?对不起,我打错了,一定是在问的时候正在看温布尔登。我想问的是你在没有UpdateSourceTrigger属性的情况下清楚地写出了什么。删除它,您将看到在更改目标文本框文本时,源标签的内容不会更改。因此,默认触发器Source@Vishal,默认事件是
Leave
,因此当您将选项卡从文本框中移开时,绑定将生效。您的示例没有其他控件可以使用tab键,因此它似乎不起作用。