我有一个带有Button和TextBlock的Usercontrol。 我想将Button和TextBlock的背景设置为Usercontrol的背景。(即,我试图绑定到usercontrol的Background属性)。
请告诉我如何在XAML中执行此操作。
Silverlight和WPF有什么区别吗?
答案 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