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