Wpf 指定的元素已经是2个标签的另一个元素的逻辑子元素
我是WPF的新手,我尝试了以下代码:Wpf 指定的元素已经是2个标签的另一个元素的逻辑子元素,wpf,xaml,Wpf,Xaml,我是WPF的新手,我尝试了以下代码: <Grid> <Label x:Name="two" Content="text"/> <Label x:Name="one" Content="{Binding ElementName=two}"/> </Grid> 我说错话了 指定的元素已经是另一个元素的逻辑子元素 通过谷歌搜索,我了解到我有一个控件,它已经是某个控件的子控件,我正试图将它分配给另一个控件作为它的子控件 我
<Grid>
<Label x:Name="two" Content="text"/>
<Label x:Name="one" Content="{Binding ElementName=two}"/>
</Grid>
我说错话了
指定的元素已经是另一个元素的逻辑子元素
通过谷歌搜索,我了解到我有一个控件,它已经是某个控件的子控件,我正试图将它分配给另一个控件作为它的子控件
我在我的代码中没有找到它
什么可能导致问题
提前谢谢。您可以绑定到
two
的Content
属性:
<Label x:Name="one" Content="{Binding Content, ElementName=two}"/>
通过写入
Content=“{Binding ElementName=two}”
您可以尝试将名为two的标签添加到名为one的标签的内容中。这将导致标签
两个
是网格
的子项,而标签
一个
s内容
@LittleBit:因此,如果我理解了逻辑,标签的内容将被视为一个对象,而不是一个属性。因此,在我的例子中:标签一的内容将在一只手上是标签一的子标签,我正在尝试将其分配给另一个标签,使内容子标签成为两个标签?不完全是:内容
是一个属性
,属性值为对象
。问题是:绑定
{Binding ElementName=two}
传递了对标签
本身的引用,因此在不同的父级中有两个对标签
的引用。一个父项是网格
,另一个是标签
一个
,可以说标签
两个
应该存在于网格
和标签
一个
的内容
(这在错误中是不可能的)。我希望这能更好地解释。@LittleBit:是的,好一点。因此,使一个标签的内容与另一个标签的内容相同是不可能的。断裂没有办法用XAML实现这一点?如果内容
不是ui元素
,就有可能实现。尝试绑定到它的内容,而不是元素本身->参见mm8答案。
<TextBlock x:Name="two" Text="text"/>
<TextBlock x:Name="one" Text="{Binding Text, ElementName=two}"/>