You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF Style.Trigger鼠标悬停时无法修改Button控件背景色问题

问题根因

你自定义的控件模板内部没有关联按钮本身的Background属性,触发器虽然成功修改了Button的背景属性值,但没有任何可视化元素应用这个属性值,所以看不到悬停变色效果。

修复方案

修改你的资源字典代码如下:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style TargetType="{x:Type Button}"
           x:Key="TitleBarButtonTheme">
        <Style.Setters>
            <!-- 新增默认背景设置,可根据需求调整默认颜色 -->
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <!-- 给Grid绑定模板父级的Background属性,让背景修改生效 -->
                        <Grid VerticalAlignment="Stretch "
                              HorizontalAlignment="Stretch"
                              Background="{TemplateBinding Background}"
                              >
                            <TextBlock Text="{TemplateBinding Property=Content}"
                                       VerticalAlignment="Center"
                                       HorizontalAlignment="Center"
                                       Foreground="#adadad"
                                       Width="{TemplateBinding Property=Width}"
                                       Height="{TemplateBinding Property=Height}"/>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style.Setters>
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background" Value="Red"/>
            </Trigger>
        </Style.Triggers>
    </Style>
</ResourceDictionary>

核心修改点

  • 给模板内的Grid添加Background="{TemplateBinding Background}",让模板根元素响应按钮的背景属性变化
  • 新增默认Background属性的Setter,避免默认无背景值导致的显示异常

视图代码不需要做任何修改,直接运行即可看到悬停变红的效果。

内容的提问来源于stack exchange,提问作者Ogie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:24:00