我有一个父UserControl(ParentUserControl
),它包含一个子CustomControl(ChildCustomControl
)。在我的子自定义控件的控件模板中,我想绑定到代码隐藏文件ParentUserControl.xaml.cs中定义的属性。如果可以这样做,那将是什么语法?
答案 0 :(得分:1)
您可以使用其名称轻松引用父控件。在这种情况下,Xaml将如下所示:
<ParentUserControl Name="ParentControl">
<ChildUserControl>
<ChildUserControl.Template>
<ControlTemplate TargetType="{x:Type ChildUserControl}">
<Grid Background={Binding Path=Background, ElementName=ParentControl}>
...
答案 1 :(得分:0)
是的,您可以使用以下绑定将chid控件的控件模板中的属性与父控件的属性绑定:
PropertyName = "{Binding
Source={RelativeSource Mode=FindAncestor,
AncestorType=ParentUserControl},
Path=ParentPropertyName}"
此处PropertyName
将是子控件的控件模板中的属性,ParentUserControl
将是您的父用户控件名称,ParentPropertyName
将是父控件的属性。
答案 2 :(得分:0)
与TemplateBinding
一样正常...例如{TemplateBinding propName}