您好,我有一个自定义控件。此自定义控件将其 DataContext 设置为实体。然后,在我的自定义控件中,我将一些 TextBlocks 绑定到该实体的各种属性。
我还想将 TextBlock 绑定到控件类的属性。我不想/不需要通过 XAML 设置此属性。
就像是
<TextBlock Content="{Binding Path=MyControl.Property}" />
现在,我似乎正在尝试使用绑定实体来解决此绑定,而不是我的自定义控件的类。
您好,我有一个自定义控件。此自定义控件将其 DataContext 设置为实体。然后,在我的自定义控件中,我将一些 TextBlocks 绑定到该实体的各种属性。
我还想将 TextBlock 绑定到控件类的属性。我不想/不需要通过 XAML 设置此属性。
就像是
<TextBlock Content="{Binding Path=MyControl.Property}" />
现在,我似乎正在尝试使用绑定实体来解决此绑定,而不是我的自定义控件的类。
你可以RelativeSource
在你的Binding
{Binding Path=PathToProperty, RelativeSource={RelativeSource AncestorType={x:Type MyControl}}}
你也可以在这个问题中看到更多
在您的自定义控件中,您应该使用要绑定的属性公开依赖属性。
另外,您可能不想绑定文本块的内容,而是想绑定文本:
<TextBlock Text="{Binding Path=MyControl.Property}" />
如果 TextBlock 在自定义控件的 ControlTemplate 中,则可以在自定义控件上创建 DP,然后将模板绑定到它。例如
<TextBlock Text="{TemplateBinding CustomControlPropertyName}" />