TemplatedParent - 澄清

时间:2010-08-06 20:10:02

标签: .net wpf

这是树:

  • MyControl:BOUND(IContentMenuItem)
    • 的ControlTemplate
      • ContentPresenter:BOUND(Header,HeaderTemplate,HeaderTemplateSelector)
        • DataTemplate(用于标题)
          • 标签

我希望将Label @的结尾绑定到MyControl的DataContext上的属性

我可以使用 FindAncestor 来获取MyControl(显然)但是如何绑定它的DataContext(类型为IContentMenuItem


现在为模板化家长提问

绑定到DataTemplate内的TemplatedParent是否会绑定到ContentPresenterControlTemplateMyControl

1 个答案:

答案 0 :(得分:2)

我认为TemplatedParent问题的答案是ContentPresenter - 它是应用模板的任何内容。

如果您可以使用MyControl获取FindAncestor,那么您可以像这样绑定到DataContext的属性:

<Label Content="{Binding DataContext.MyProperty, RelativeSource=…}" />

您也可以为x:Name设置MyControl,然后绑定如下:

<Label Content="{Binding DataContext.MyProperty, ElementName=myControl}" />