代码之家  ›  专栏  ›  技术社区  ›  Gilles

绑定到自定义控件属性

  •  1
  • Gilles  · 技术社区  · 14 年前

    你好,我有一个自定义控件。此自定义控件的DataContext设置为实体。在我的自定义控件中,我将一些文本块绑定到此实体的各种属性。

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

    有点像

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

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

    3 回复  |  直到 14 年前
        1
  •  1
  •   dcarneiro    14 年前

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

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

    <TextBlock Text="{Binding Path=MyControl.Property}" />
    
        2
  •  2
  •   Community CDub    7 年前

    你可以用 RelativeSource 在你的 Binding

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

    你还可以看到更多 in this question

        3
  •  1
  •   AndrewS    14 年前

    如果文本块在自定义控件的ControlTemplate中,则可以在自定义控件上创建一个DP,然后将模板绑定到该DP。 例如

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