【问题标题】:Setting the UserControl property to child controls - WPF, Silverlight将 UserControl 属性设置为子控件 - WPF、Silverlight
【发布时间】:2011-03-23 01:45:57
【问题描述】:

我有一个带有 Button 和 TextBlock 的用户控件。 我想将 Button 和 TextBlock 的背景设置为 Usercontrol 的背景。(即,我正在尝试绑定到 usercontrol 的 Background 属性)。

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

这在 Silverlight 和 WPF 中有什么不同吗?

【问题讨论】:

    标签: wpf silverlight binding user-controls


    【解决方案1】:

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

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

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

    根据thisSilverlight 不支持 FindAncestor

    【讨论】:

      【解决方案2】:

      使用模板绑定:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-01
        相关资源
        最近更新 更多