Wpf 对象';标签';已具有子级,无法添加''';标签';我只能接受一个孩子
我试图使用另一个SO用户提供的帮助器类在标签上应用stringformatting。但是,当我应用他的解决方案时,我得到以下错误:Wpf 对象';标签';已具有子级,无法添加''';标签';我只能接受一个孩子,wpf,xaml,Wpf,Xaml,我试图使用另一个SO用户提供的帮助器类在标签上应用stringformatting。但是,当我应用他的解决方案时,我得到以下错误: 对象“Label”已经有子对象,无法添加“”标签“只能接受一个孩子。 标签如下: <Label Grid.Column="1" Grid.Row="1"> <ui:Helper.Text> <PriorityBinding> <Binding Path="Work
对象“Label”已经有子对象,无法添加“”标签“只能接受一个孩子。
标签如下:
<Label Grid.Column="1"
Grid.Row="1">
<ui:Helper.Text>
<PriorityBinding>
<Binding Path="Worker.Employer.Name" StringFormat="Employer: {0}" />
<Binding Source="Unemployed" />
</PriorityBinding>
</ui:Helper.Text>
<Binding RelativeSource="{RelativeSource Self}" Path="(ui:Helper.Text)" />
</Label>
错误指向“Binding RelativeSource…”行。我能做些什么来解决这个问题?我想使用
Label
s而不是TextBlock
s,但它已经到了不值得使用的地步。在没有测试I的情况下,我想附加属性的定义中有一个bug,因为它附加到助手
类本身,而不是Label
。这样,您只需在标签内容中创建一个新的Helper
实例。然后将绑定添加到内容时,会出现异常,因为已经存在内容
实际上,我看不出有什么理由让它成为附加属性,而绑定到self的附加属性对我来说似乎很笨拙
尝试以下方法;通过将RegisterAttached(…)
替换为Register(…)
,使Helper.Text成为一个普通的依赖属性。(将helper重命名为类似于复合字符串
)的名称,然后将复合字符串定义为标签的资源,并将标签的内容绑定到此资源:
<Label>
<Label.Resources>
<ui:CompositeString>
<ui:CompositeString.Text>...</ui:CompositeString.Text>
</ui:CompositeString>
</Label.Resources>
<Label.Content>
<Binding Path="Text" Source="{StaticResource Test}" />
</Label.Content>
</Label>
...
请注意,在绑定到内容之前需要定义资源,这就是为什么绑定会有自己的标记。如果没有测试i,我想附加属性的定义中有一个错误,因为它附加到
帮助程序
类本身,而不是标签
。这样,您只需在标签内容中创建一个新的Helper
实例。然后将绑定添加到内容时,会出现异常,因为已经存在内容
实际上,我看不出有什么理由让它成为附加属性,而绑定到self的附加属性对我来说似乎很笨拙
尝试以下方法;通过将RegisterAttached(…)
替换为Register(…)
,使Helper.Text成为一个普通的依赖属性。(将helper重命名为类似于复合字符串
)的名称,然后将复合字符串定义为标签的资源,并将标签的内容绑定到此资源:
<Label>
<Label.Resources>
<ui:CompositeString>
<ui:CompositeString.Text>...</ui:CompositeString.Text>
</ui:CompositeString>
</Label.Resources>
<Label.Content>
<Binding Path="Text" Source="{StaticResource Test}" />
</Label.Content>
</Label>
...
请注意,在绑定到内容之前需要定义资源,这就是为什么绑定会有自己的标记。看起来就像xaml的一个例子,假设您附加的属性是
标签的内容
只需将实际的内容
包装成一个明确的
看起来就像xaml的一个例子,假设您的附加属性是标签的内容
只需将实际的内容
包装成一个明确的
那么它应该放在哪里?如果将其与其他绑定放在一起,则标签将不显示任何内容。我是一个初学者,我正要回答另一个问题。这里的这个问题,具体来说:那么它应该去哪里?如果将其与其他绑定放在一起,则标签将不显示任何内容。我是这里的初学者,正要回答另一个问题。具体来说,这个问题: