繁体   English   中英

鼠标悬停在其上时更改控件背景

[英]Change control background when mouse is over it

我发现了不同的代码段,它们应该在鼠标悬停时更改控件的背景。 我无法使其中任何一个正常工作。 这是我现在正在使用的代码。 我不知道我要缺少什么,我正在指定所有内容。

<Window.Resources>
    <Style x:Key="HoverButton" TargetType="{x:Type Button}">
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background" Value="#FFA9DE4E"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Resources>

我还指定了我想要应用于特定控件的样式,在这种情况下是一个按钮。

<!-- Start button -->
    <Button x:Name="btnStart" Style="{StaticResource HoverButton}" Content="Start" Margin="503,411,10,10" FontWeight="Bold" BorderBrush="#FFA9DE4E" Click="BtnNext_Click" Foreground="#FFA9DE4E" Background="#FF222831">
        <Button.Effect>
            <DropShadowEffect Color="#FFA9DE4E" ShadowDepth="1" BlurRadius="20" Direction="320"/>
        </Button.Effect>
    </Button>

当我将鼠标悬停在按钮上时,没有任何变化。

尝试像这样修改按钮模板:

<Button Content="Button" HorizontalAlignment="Center" Click="Button_Click" VerticalAlignment="Center" Width="75">
                    <Button.Template>
                        <ControlTemplate TargetType="{x:Type Button}">
                            <Border x:Name="bdr_main" BorderThickness="1" BorderBrush="Black" Background="LightGray">
                                <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" />
                            </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter TargetName="bdr_main" Property="Background" Value="#FFA9DE4E"/>
                                </Trigger>
    //You can also change the color at the click like this:
                                <Trigger Property="IsPressed" Value="True">
                                    <Setter TargetName="bdr_main" Property="Background" Value="Red"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                </Button.Template>
            </Button>

通过修改模板,您可以根据需要对按钮进行样式化。

希望能对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM