简而言之,我知道如何将从当前值动画化为新值,但我不知道如何做(并且找不到)是如何动画回到动画运行前的值。
换句话说,我现在的背景是黄色的。我希望根据某些逻辑将背景闪烁为红色,但我希望它再次从红色渐变为黄色。透明在这里不起作用,因为它用'透明'替换背景值,而不是淡化它。
另外,我没有提到FillBehavior属性,你可以用它在运行后“取消应用”动画值,也不是指自动反转动画,因为这意味着它必须运行前进首先意味着我们会褪色到红色,而不是我们想要的瞬间脉冲。
到目前为止,我发现的唯一方法是在代码隐藏中执行此操作,但这会在逻辑上安排事情时引入自己的问题。我只想将'To'值设置为预先设置的动画值。怎么办?
答案 0 :(得分:1)
仅在此示例中使用ColorAnimation.From Property:
<StackPanel>
<StackPanel.Resources>
<Style TargetType="TextBox">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<BeginStoryboard.Storyboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color"
From="Red" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard.Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<TextBox Text="AAA" Background="Yellow" />
<TextBox Text="BBB" Background="Blue" />
</StackPanel>