先上效果
引入系统命名空间:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
资源定义:
<!--次色-->
<Color x:Key="lesserColor">#4AB6A7</Color>
<!--次色-->
<SolidColorBrush x:Key="lesserColorBrush" Color="{StaticResource lesserColor}"></SolidColorBrush>
<!--中按钮-->
<sys:Double x:Key="mediumButtonHeight">32</sys:Double>
<sys:Double x:Key="mediumButtonFontSize">14</sys:Double>
<Thickness x:Key="mediumButtonPadding">16 0</Thickness>
<CornerRadius x:Key="mediumButtonCornerRadius" >4</CornerRadius>
样式代码:
<!--一类中按钮-->
<Style x:Key="mediumBtn1Style" TargetType="Button">
<Setter Property="Height" Value="{DynamicResource mediumButtonHeight}"></Setter>
<Setter Property="BorderThickness" Value="0"></Setter>
<Setter Property="BorderBrush" Value="{DynamicResource lesserColorBrush}"></Setter>
<Setter Property="Background" Value="{DynamicResource lesserColorBrush}"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="FontSize" Value="{DynamicResource mediumButtonFontSize}"></Setter>
<Setter Property="FontFamily" Value="Microsoft YaHei"></Setter>
<Setter Property="FontWeight" Value="Regular"></Setter>
<Setter Property="Padding" Value="{DynamicResource mediumButtonPadding}"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border x:Name="boder" BorderBrush="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= BorderBrush}"
CornerRadius="{StaticResource mediumButtonCornerRadius}"
BorderThickness="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= BorderThickness}"
Background="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= Background}" >
<TextBlock
Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= Content}"
FontFamily="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= FontFamily}"
FontSize="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= FontSize}"
Foreground="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= Foreground}"
FontWeight="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= FontWeight}"
Margin="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path= Padding}"
HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true"></Condition>
<Condition Property="IsEnabled" Value="true"></Condition>
</MultiTrigger.Conditions>
<Setter TargetName="boder" Property="Background" Value="{DynamicResource mainColorBrush}"></Setter>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="boder" Property="Background" Value="{DynamicResource btn1InvalidStyleBrush}"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
欢迎指正。