我希望能够在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="" />
<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>
谢谢你的到来。
答案 0 :(得分:4)
您必须覆盖Button的默认ControlTemplate。
要执行此操作:右键单击设计器视图中的按钮 - 编辑模板 - 编辑副本
然后Visual Studio为您创建默认模板。
在模板代码中,有一个包含组和状态的VisualStateManager部分。
其中一个是
<VisualState x:Name="Disabled">
//Change to your demands
</VisualState>
在此处,您可以将控件禁用时将其更改为您想要执行的任何操作。