绑定到自定义控件属性

时间:2010-11-17 14:04:45

标签: .net wpf silverlight binding wpf-4.0

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

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

这样的东西
<TextBlock Content="{Binding Path=MyControl.Property}" />

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

3 个答案:

答案 0 :(得分:2)

您可以在RelativeSource

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

您还可以看到更多in this question

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

如果TextBlock位于自定义控件的ControlTemplate中,那么您可以在自定义控件上创建DP,然后将模板绑定到它。 e.g。

<TextBlock Text="{TemplateBinding CustomControlPropertyName}" />