<Grid>
<Button HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="48" Padding="20" Height="100" Width="200">
<Button.Template>
<!-- 先定义button的模板-->
<ControlTemplate>
<Rectangle RadiusX="10" RadiusY="10" Stroke="BlueViolet" StrokeThickness="3" x:Name="myRectangle"> 模板为圆角矩形,名字为myRectangle
<Rectangle.Fill>
<VisualBrush Opacity="0.7">
<VisualBrush.Visual>
<TextBlock Name="myTextBlock" Foreground="LightYellow" Background="DarkBlue" Padding="10" Text="模板按钮"/> button上的文字用文本快呈现
</VisualBrush.Visual>
</VisualBrush>
</Rectangle.Fill>
</Rectangle>
<!--模板定义完后,才定义控件触发器,若放在模板之前,targetName无法找到myRectangle-->
<ControlTemplate.Triggers>
<Trigger Property="UIElement.IsMouseOver" Value="True">
<Setter TargetName="myRectangle" Property="Stroke" Value="Green"/>
<Setter TargetName="myTextBlock" Property="Foreground" Value="Red"/>
</Trigger>
<Trigger Property="Button.IsPressed" Value="True">
<Setter TargetName="myRectangle" Property="Stroke" Value="LightGreen"/>
<Setter TargetName="myTextBlock" Property="Background" >
<Setter.Value>
<LinearGradientBrush>
<GradientStop Offset="1" Color="DarkBlue"/>
<GradientStop Offset="0.5" Color="Blue"/>
<GradientStop Offset="0" Color="DarkBlue"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>