WPF Button ControlTemplate

<Window x:Class="WpfApp165.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"
        xmlns:local="clr-namespace:WpfApp165"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <ControlTemplate x:Key="btnTemplate" TargetType="{x:Type Button}">
            <Border x:Name="border"
                    BorderBrush="{TemplateBinding BorderBrush}"
                    BorderThickness="{TemplateBinding BorderThickness}"
                    CornerRadius="10">
                <Border.Background>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                        <GradientStop Color="LightGreen" Offset="0"/>
                        <GradientStop Color="DarkGreen" Offset="1"/>
                    </LinearGradientBrush>
                </Border.Background>
                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Border>
            <ControlTemplate.Triggers>
                <Trigger Property="IsMouseOver"
                         Value="True">
                    <Setter TargetName="border"
                            Property="Background">
                        <Setter.Value>
                            <LinearGradientBrush
                                StartPoint="0,0"
                                EndPoint="1,1">
                                <GradientStop Color="LightPink" Offset="0"/>
                                <GradientStop Color="DarkRed" Offset="1"/>
                            </LinearGradientBrush>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Window.Resources>
    <Grid>
        <Button Width="500"
                Height="200"
                Content="Click Me"
                Background="Blue"
                Template="{StaticResource btnTemplate}">
            <!--<Button.Template>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Border x:Name="border"
                            Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            CornerRadius="10">
                        <ContentPresenter
                            HorizontalAlignment="Center"
                            VerticalAlignment="Center"/>
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter TargetName="border" Property="Background" Value="Orange"/>
                            <Setter TargetName="border" Property="BorderBrush" Value="Red"/>
                        </Trigger>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter TargetName="border" Property="Background" Value="Blue"/>
                            <Setter TargetName="border" Property="BorderBrush" Value="Yellow"/>
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter TargetName="border"
                                    Property="Background" Value="Green"/>
                            <Setter TargetName="border" Property="BorderBrush" Value="Black"/>
                            <Setter TargetName="border" Property="Opacity" Value="0.5"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Button.Template>-->
        </Button>
    </Grid>
</Window>

 

 

 

 

 

 

 

 

 

 

posted @ 2025-03-08 20:10  FredGrit  阅读(12)  评论(0)    收藏  举报