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

如何在WPF中对模板绑定背景减去ColorAnimation的By属性值?

WPF中用ColorAnimation的By属性实现背景变暗动画

要实现背景变暗,只需要给ColorAnimation的By属性设置负的颜色增量值即可。因为By属性表示的是颜色的变化量:传入正数颜色值时,是在原颜色基础上叠加(变亮);传入负数颜色值时,就是在原颜色基础上减去对应数值(变暗)。

修改你的ColorAnimation代码如下:

<ColorAnimation Storyboard.TargetName="BackRect" Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"
                By="-#A0A0A0" FillBehavior="HoldEnd" Duration="0:0:0.3" >
    <ColorAnimation.EasingFunction>
        <SineEase EasingMode="EaseOut"/>
    </ColorAnimation.EasingFunction>
</ColorAnimation>

补充说明:

  • WPF会自动处理颜色通道的边界值:如果原颜色的RGB通道值小于你要减去的数值,动画会自动将通道值限制在0(不会出现负数导致的异常)。
  • 如果你需要更柔和的变暗效果,可以调整By后的颜色值,比如-#505050的变暗程度会比-#A0A0A0更弱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:25:20