代码之家  ›  专栏  ›  技术社区  ›  123Developer

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

  •  1
  • 123Developer  · 技术社区  · 15 年前

    我有一个带有按钮和文本块的用户控件。 我想用Usercontrol的背景设置Button和TextBlock的背景(即,我试图绑定到Usercontrol的Background属性)。

    Silverlight和WPF有什么不同吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   benPearce    15 年前

    可以绑定到祖先控件,例如:

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

    同样的方法也适用于TextBlock,但是它的背景已经是透明的了

    this Silverlight不支持FindAncestor

        2
  •  1
  •   Kelly    15 年前

    使用模板绑定:

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

    只需将usercontrol中的顶级控件(在我的例子中是一个边框)和TextBlock设置为使用TemplateBinding后台。