2010-08-06 47 views
0

这里的树:TemplatedParent - 一个澄清

  • MyControl:绑定(IContentMenuItem)
    • 控件模板
      • ContentPresenter:绑定(头,HeaderTemplate中,HeaderTemplateSelector)
        • 的DataTemplate (For Header)
          • 标签

我要在标签@那棵树结束结合的MyControl

在DataContext的一个属性,我可以使用FindAncestor得到MyControl(很明显),但我怎么绑定它DataContext的


现在的模板化父问题

(类型IContentMenuItem的)将结合TemplatedParent中的DataTemplate内有效绑定到ContentPresenter,该ControlTemplateMyControl

回答

2

我认为对于TemplatedParent问题的答案是ContentPresenter--它是模板应用到的任何东西。

如果你能使用FindAncestor得到MyControl,那么你就可以绑定到DataContext像这样的属性:

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

您也可以只设置一个x:NameMyControl,然后绑定的样子:

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