将ControlTemplate值绑定到styles属性

时间:2014-04-09 22:55:18

标签: c# .net silverlight xaml styles

我的自定义按钮有ControlTemplate

我试图将ControlTemplate中的<Border.Background>绑定到样式Background属性。

XAML

<ControlTemplate x:Key="NumberButtonControlTemplate" TargetType="Button" >
    <Border x:Name="Border">
        <Border.Background>
            <SolidColorBrush Color="{TemplateBinding Background}" />
        </Border.Background>
    </Border>
</ControlTemplate>



<Style x:Key="NumberButtonStyle" TargetType="Button">
    <Setter Property="Template" Value="{StaticResource NumberButtonControlTemplate}" />        
    <Setter Property="Background" Value="MediumSpringGreen" />
    <Setter Property="Height" Value="80" />
</Style>

如何让ControlTemplate BorderBackground属性获取样式背景的值?

我上面所做的是对的,有什么东西我不见了吗?

1 个答案:

答案 0 :(得分:-1)

Background(以及Button)上的Border属性属于Brush,但您尝试将其用作Color。请改用:

<Border x:Name="Border" Background="{TemplateBinding Background}"/>