我有一個UserControl,其中包含一個Button和TextBlock。 我想設置Button和TextBlock背景與用戶控件的背景(即,我想綁定到usercontrol的背景屬性)。將UserControl屬性設置爲子控件 - WPF,Silverlight
請讓我知道我該如何在XAML中做到這一點。
這在Silverlight和WPF中有什麼區別嗎?
我有一個UserControl,其中包含一個Button和TextBlock。 我想設置Button和TextBlock背景與用戶控件的背景(即,我想綁定到usercontrol的背景屬性)。將UserControl屬性設置爲子控件 - WPF,Silverlight
請讓我知道我該如何在XAML中做到這一點。
這在Silverlight和WPF中有什麼區別嗎?
您可以綁定到一個祖先控制,如:
<Button Background="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path=Background}"/>
同樣會爲TextBlock的工作,但它的背景是已經透明
根據this Silverlight不支持FindAncestor
使用TemplateBinding:
<Border Background="{TemplateBinding Background}">
<TextBlock Background="{TemplateBinding Background}" Text="something"/>
</Border>
只需設置無論是在你的用戶控件的頂級控件(在我的情況下邊框),並使用TemplateBinding背景TextBlock的。