圆形按钮效果

<Style x:Key="RoundedGelButton" TargetType="Button">
        <Setter Property="Width" Value="60" />
        <Setter Property="Height" Value="60" />
        <Setter Property="Foreground" Value="White" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid>
                        <Ellipse Name="GelBackground" StrokeThickness="0.5" Fill="DarkCyan">
                            <Ellipse.Stroke>
                                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                                    <GradientStop Offset="0" Color="#ff7e7e7e" />
                                    <GradientStop Offset="1" Color="DarkCyan" />
                                </LinearGradientBrush>
                            </Ellipse.Stroke>
                        </Ellipse>
                        <Ellipse Margin="15,5,15,50">
                            <Ellipse.Fill>
                                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                                    <GradientStop Offset="0" Color="#aaffffff" />
                                    <GradientStop Offset="1" Color="Transparent" />
                                </LinearGradientBrush>
                            </Ellipse.Fill>
                        </Ellipse>
                        <ContentPresenter Name="GelButtonContent" VerticalAlignment="Center" HorizontalAlignment="Center" Content="{TemplateBinding Content}" />
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Ellipse.Fill" TargetName="GelBackground">
                                <Setter.Value>
                                    <RadialGradientBrush>
                                        <GradientStop Offset="0" Color="Lime" />
                                        <GradientStop Offset="1" Color="DarkGreen" />
                                    </RadialGradientBrush>
                                </Setter.Value>
                            </Setter>

                        </Trigger>


                        <Trigger Property="IsPressed" Value="True">
                            <Setter Property="Ellipse.Fill" TargetName="GelBackground">
                                <Setter.Value>
                                    <RadialGradientBrush>
                                        <GradientStop Offset="0" Color="#ffcc34" />
                                        <GradientStop Offset="1" Color="#cc9900" />
                                    </RadialGradientBrush>
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <EventTrigger RoutedEvent="MouseEnter">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Duration="0:0:0.300"
                                                 Storyboard.TargetProperty="Width"
                                                 To="70" />
                            <DoubleAnimation Duration="0:0:0.300"
                                                 Storyboard.TargetProperty="Height"
                                                 To="70" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
            <EventTrigger RoutedEvent="MouseLeave">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>

                            <DoubleAnimation Duration="0:0:0.300"
                                                 Storyboard.TargetProperty="Width"
                                                 To="60" />
                            <DoubleAnimation Duration="0:0:0.300"
                                                 Storyboard.TargetProperty="Height"
                                                 To="60" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Style.Triggers>
    </Style>

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/107451828