将UserControl属性设置为子控件 - WPF,Silverlight

时间:2010-07-30 04:26:02

标签: wpf silverlight binding user-controls

我有一个带有Button和TextBlock的Usercontrol。 我想将Button和TextBlock的背景设置为Usercontrol的背景。(即,我试图绑定到usercontrol的Background属性)。

请告诉我如何在XAML中执行此操作。

Silverlight和WPF有什么区别吗?

2 个答案:

答案 0 :(得分:1)

使用TemplateBinding:

                    <Border Background="{TemplateBinding Background}">                        
                    <TextBlock Background="{TemplateBinding Background}" Text="something"/>                        
                </Border>

只需在usercontrol中设置顶级控件(在我的情况下为边框)和TextBlock以使用TemplateBinding Background。

答案 1 :(得分:1)

您可以绑定到Ancestor控件,例如:

<Button Background="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path=Background}"/>

同样适用于TextBlock,但其背景已经透明

根据this Silverlight不支持FindAncestor