1

您好,我有一个自定义控件。此自定义控件将其 DataContext 设置为实体。然后,在我的自定义控件中,我将一些 TextBlocks 绑定到该实体的各种属性。

我还想将 TextBlock 绑定到控件类的属性。我不想/不需要通过 XAML 设置此属性。

就像是

<TextBlock Content="{Binding Path=MyControl.Property}" />

现在,我似乎正在尝试使用绑定实体来解决此绑定,而不是我的自定义控件的类。

4

3 回答 3

2

你可以RelativeSource在你的Binding

{Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type MyControl}}}

你也可以在这个问题中看到更多

于 2010-11-17T14:20:53.480 回答
1

在您的自定义控件中,您应该使用要绑定的属性公开依赖属性。

另外,您可能不想绑定文本块的内容,而是想绑定文本:

<TextBlock Text="{Binding Path=MyControl.Property}" />
于 2010-11-17T14:19:56.707 回答
1

如果 TextBlock 在自定义控件的 ControlTemplate 中,则可以在自定义控件上创建 DP,然后将模板绑定到它。例如

<TextBlock Text="{TemplateBinding CustomControlPropertyName}" />
于 2010-11-17T15:12:18.333 回答