如何在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
相关产品推荐
相关产品推荐

