首页 > Windows开发 > 详细

WPF鼠标移入改变Border背景颜色

时间:2021-06-24 23:02:56      阅读:107      评论:0      收藏:0      [点我收藏+]

WPF:

技术分享图片

 

技术分享图片

 

 就像这样,鼠标移上去动态改变背景颜色

 

<Window.Resources>

        <ControlTemplate x:Key="ButtonTemplate" TargetType="{x:Type Button}">

            <Border BorderBrush="Orange" BorderThickness="3" CornerRadius="2" Background="Red" TextBlock.Foreground="White" Name="Border">

                <Grid>

                    <Rectangle Name="FocusCue" Visibility="Hidden" Stroke="Black"

                               StrokeThickness="1" StrokeDashArray="1 2" SnapsToDevicePixels="True" ></Rectangle>

                    <ContentPresenter RecognizesAccessKey="True" Margin="{TemplateBinding Padding}"></ContentPresenter>

                </Grid>

            </Border>

            <ControlTemplate.Triggers>

                <EventTrigger RoutedEvent="MouseEnter">

                    <BeginStoryboard>

                        <Storyboard>

                            <ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color"

                                            To="Blue" Duration="0:0:1" AutoReverse="True" RepeatBehavior="Forever"></ColorAnimation>

                        </Storyboard>

                    </BeginStoryboard>

                </EventTrigger>

                <EventTrigger RoutedEvent="MouseLeave">

                    <BeginStoryboard>

                        <Storyboard>

                            <ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" Duration="0:0:0.5"></ColorAnimation>

                        </Storyboard>

                    </BeginStoryboard>

                </EventTrigger>

                <Trigger Property="IsPressed" Value="True">

                    <Setter TargetName="Border" Property="Background" Value="IndianRed" />

                    <Setter TargetName="Border" Property="BorderBrush" Value="DarkKhaki" />

                </Trigger>

                <Trigger Property="IsKeyboardFocused" Value="True">

                    <Setter TargetName="FocusCue" Property="Visibility" Value="Visible" />

                </Trigger>

            </ControlTemplate.Triggers>

        </ControlTemplate>

 

        <Style TargetType="{x:Type Button}" x:Key="BorderStyle">

            <Setter Property="Background" Value="White"/>

            <Style.Triggers>

                <Trigger Property="IsMouseOver" Value="True">

                    <Setter Property="Background" Value="Red" />

                </Trigger>

            </Style.Triggers>

        </Style>

    </Window.Resources>

    <Grid>

        <StackPanel Margin="10">

            <Button  Margin="10" Padding="5" Template="{StaticResource ButtonTemplate}" Name="cmdOne">

                A Simple Button with a Custom Template

            </Button>

            <Button Margin="10" Padding="5" Template="{StaticResource ButtonTemplate}" Name="cmdTwo">Another Button with a Custom Template</Button>

        </StackPanel>

    </Grid>

转载:具体那位哥的,我当时没记网址,现在忘了

<StackPanel Margin="10">            <Button  Margin="10" Padding="5" Template="{StaticResource ButtonTemplate}" Name="cmdOne">                A Simple Button with a Custom Template            </Button>            <Button Margin="10" Padding="5" Template="{StaticResource ButtonTemplate}" Name="cmdTwo">Another Button with a Custom Template</Button>        </StackPanel>

WPF鼠标移入改变Border背景颜色

原文:https://www.cnblogs.com/AnYiJianMo/p/14928160.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!