动画闪烁一种颜色并恢复到原来的颜色
Animation to flash a colour and come back to its original one
我正在使用 C# 和 .NET Framework 4.7 开发 WPF 应用程序。
我有这个动画:
<Style.Triggers>
<EventTrigger RoutedEvent="ContentChanged">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.1" Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="Yellow" AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
我正在尝试将背景颜色更改为黄色,然后再次变回白色,但我认为 AutoReverse
不是那个意思。
我也试过:
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="Yellow" FillBehavior="Stop" BeginTime="0:0:0" Duration="0:0:0.3"/>
<ColorAnimation Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
From="Yellow" To="White"
BeginTime="0:0:0.3" Duration="0:0:1"/>
</Storyboard>
</BeginStoryboard>
但是,最后,背景颜色是黄色的。
我想实现的效果是当Label的内容改变时改变背景颜色,然后快速恢复到原来的颜色。我想创建一个视觉效果来注意哪个标签更改了它的内容。
如何将颜色更改为黄色,然后再将其更改为白色?
将另一个ColorAnimation
添加到Storyboard
并将其BeginTime
属性设置为大于或等于第一个Duration
的值,例如:
<EventTrigger RoutedEvent="ContentChanged">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation BeginTime="0:0:0" Duration="0:0:1"
Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="Yellow"/>
<ColorAnimation BeginTime="0:0:1" Duration="0:0:1"
Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="White"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
我正在使用 C# 和 .NET Framework 4.7 开发 WPF 应用程序。
我有这个动画:
<Style.Triggers>
<EventTrigger RoutedEvent="ContentChanged">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.1" Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="Yellow" AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
我正在尝试将背景颜色更改为黄色,然后再次变回白色,但我认为 AutoReverse
不是那个意思。
我也试过:
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="Yellow" FillBehavior="Stop" BeginTime="0:0:0" Duration="0:0:0.3"/>
<ColorAnimation Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
From="Yellow" To="White"
BeginTime="0:0:0.3" Duration="0:0:1"/>
</Storyboard>
</BeginStoryboard>
但是,最后,背景颜色是黄色的。
我想实现的效果是当Label的内容改变时改变背景颜色,然后快速恢复到原来的颜色。我想创建一个视觉效果来注意哪个标签更改了它的内容。
如何将颜色更改为黄色,然后再将其更改为白色?
将另一个ColorAnimation
添加到Storyboard
并将其BeginTime
属性设置为大于或等于第一个Duration
的值,例如:
<EventTrigger RoutedEvent="ContentChanged">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation BeginTime="0:0:0" Duration="0:0:1"
Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="Yellow"/>
<ColorAnimation BeginTime="0:0:1" Duration="0:0:1"
Storyboard.TargetProperty="(Label.Background).(SolidColorBrush.Color)"
To="White"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>