//基本按钮样式
<Style x:Key="BaseButtonBaseStyle" TargetType="{x:Type ButtonBase}">
<Setter Property="OverridesDefaultStyle" Value="True"></Setter>
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
<Setter Property="BorderThickness" Value="0"></Setter>
<Setter Property="HorizontalAlignment" Value="Center"></Setter>
<Setter Property="VerticalAlignment" Value="Center"></Setter>
<Setter Property="VerticalContentAlignment" Value="Center"></Setter>
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ButtonBase}">
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
//XAML 布局一个按钮
<Button x:Name="a123" Width="60" Height="60" Grid.Row="2" Click="a123_Click" Style="{StaticResource BaseButtonBaseStyle}"/>
//后台代码
private int cur = 1; //变量声明
Brush img1;
Brush img2;
private void a123_Click(object sender, RoutedEventArgs e) //处理方法
{
if (!(sender is Button btn)) return;
if (cur == 1)
{
cur = 2;
if (img2 == null)
btn.Background = img2 = new ImageBrush(new BitmapImage(new Uri(@"pack://application:,,,/WpfApp20180703;component/Images/ButtonImages/raiseupstate.png")));
else
btn.Background = img2;
}
else
{
cur = 1;
if (img1 == null)
btn.Background = img1 = new ImageBrush(new BitmapImage(new Uri(@"pack://application:,,,/WpfApp20180703;component/Images/ButtonImages/normalstate.png")));
else
btn.Background = img1;
}
}