更改XAML Windows 8中按钮的禁用颜色

时间:2013-03-04 11:15:42

标签: xaml windows-8 .net-4.5

我希望能够在XAML被禁用时更改按钮的背景颜色,但我不知道要覆盖什么。

有人知道我需要做什么吗?

我正在使用XAML和C#4.5创建一个Windows 8商店应用。

我当前的按钮样式如下:

        <Style x:Key="MySaveButtonStyle"
               TargetType="ButtonBase">
            <Setter Property="FontFamily"
                    Value="Segoe UI Symbol" />
            <Setter Property="FontSize"
                    Value="36" />
            <Setter Property="Content"
                    Value="&#xE105;" />
            <Setter Property="Height"
                    Value="70" />
            <Setter Property="Width"
                    Value="80" />
            <Setter Property="BorderBrush"
                    Value="White" />
            <Setter Property="Foreground"
                    Value="{StaticResource ButtonForegroudBrush}" />
            <Setter Property="BorderThickness"
                    Value="1" />
            <Setter Property="Background"
                    Value="White" />
        </Style>

谢谢你的到来。

1 个答案:

答案 0 :(得分:4)

您必须覆盖Button的默认ControlTemplate。

要执行此操作:右键单击设计器视图中的按钮 - 编辑模板 - 编辑副本

然后Visual Studio为您创建默认模板。

在模板代码中,有一个包含组和状态的VisualStateManager部分。

其中一个是

 <VisualState x:Name="Disabled">
//Change to your demands 
</VisualState>

在此处,您可以将控件禁用时将其更改为您想要执行的任何操作。