none
背景图片 RRS feed

答案

  • 只要控件有Background 属性,且通过设置Background属性可以改变背景,也就是说这个控件的模板中使用了 Background 属性来呈现背景,那么这个控件就可以用 ImageBrush 承载图片作为一个Brush 放到Background 上来作为背景。几乎所有继承自Control的控件都可以设置背景,因为Background 是Control这个父类的属性,但也有可能这个控件在继承后,他的模板中并没有将Background设计到背景中,比如我下面这个自定义控件的模板就不能用Background设置背景:

        <Style TargetType="local:CustomControl1">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="local:CustomControl1">
                        <!--Background="{TemplateBinding Background}"-->
                        <Border
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                            <TextBlock Text="this is a custom control template"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    所以不需要担心这个问题,你只要自己尝试下,例如Button, ComboBox 等都是可以的。

    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us


    2012年8月15日 5:16
    版主