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


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>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM