您好我有自定义控件。此自定义控件将其DataContext设置为实体。在我的自定义控件中,然后我将一些TextBlocks绑定到此实体的各种属性。
我还想将TextBlock绑定到控件类的属性。我不希望/需要通过XAML设置此属性。
像
这样的东西<TextBlock Content="{Binding Path=MyControl.Property}" />
现在,我似乎试图使用绑定实体来解析此绑定,而不是我的自定义控件的类。
答案 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}" />