覆盖常规按钮样式

时间:2010-06-24 09:32:43

标签: wpf xaml

我们在default.xaml中有一个通用样式,针对我们应用程序中的所有按钮。有没有办法覆盖这种风格,并根据默认按钮创建一个新按钮?

3 个答案:

答案 0 :(得分:13)

如果要继承任何现有样式,请使用BasedOn

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}"   x:Key="RedTextBasedOnButton">  <Setter Property="Foreground" Value="Red" /> </Style>

这将继承默认样式,新的前景属性将应用于新样式

希望这会有所帮助。

答案 1 :(得分:1)

您可以像这样更改按钮的模板

<Style x:Key="{x:Type Button}" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Padding="10,5,10,5" BorderBrush="Green" BorderThickness="1" CornerRadius="5" Background="#EFEFEF">
  <TextBlock Text="{TemplateBinding Content}" />
</Border>
</ControlTemplate>
</Style>

答案 2 :(得分:0)

Class Style具有属性BasedOn和构造函数接受Style参数,该参数定义了基于的样式。

Style boldStyle = new Style(typeof(Button), generalButtonStyle);