【发布时间】:2018-12-21 20:53:30
【问题描述】:
我正在使用 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的内容发生变化时改变背景颜色,然后快速恢复到原来的颜色。我想创建一个视觉效果来注意哪个标签改变了它的内容。
如何将颜色更改为黄色,然后再将其更改为白色?
【问题讨论】:
-
您是否尝试过使用 EventTrigger.ExitAction
-
也许,答案就在这里:wpf.2000things.com/2017/03/19/…
标签: c# wpf animation storyboard