如何摆脱默认的蓝色悬停在一个按钮

本文关键字:一个 按钮 默认 何摆脱 蓝色 悬停 | 更新日期: 2023-09-27 18:10:05

我已经声明了如下样式。

<Style x:Key="RightButtonStyle"
       TargetType="Button">
  <Style.Triggers>
    <Trigger Property="IsMouseOver"
             Value="True">
      <Setter Property="Background"
              Value="BlueViolet"></Setter>
    </Trigger>
    <Trigger Property="IsMouseOver"
             Value="False">
      <Setter Property="Background"
              Value="Yellow" />
    </Trigger>
  </Style.Triggers>
</Style>

我的按钮使用的样式只服从黄色部分。由于某些原因,它仍然是蓝色的(默认的悬停颜色),而不是蓝紫色悬停。我错过了什么?据我所知,没有其他的设置或样式

如何摆脱默认的蓝色悬停在一个按钮

仍然使用默认的按钮模板。你需要重写它

        <Style Key="RightButtonStyle" TargetType="Button">
            <Setter Property="OverridesDefaultStyle" Value="True"/>
            <Setter Property="Margin" Value="5"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Grid Background="{TemplateBinding Background}">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="BlueViolet"></Setter>
                </Trigger>
                <Trigger Property="IsMouseOver" Value="False">
                    <Setter Property="Background" Value="Yellow" />
                </Trigger>
            </Style.Triggers>
        </Style>