我想添加全局更改WPF应用程序中所有动画的速度的功能。例如,一些用户可能不喜欢动画,因此他们可能会将持续时间缩短到正常情况的四分之一。在演示期间,您可能希望将持续时间加倍,以便强调它们。
我想出了如何全局调整DesiredFrameRate属性,但我无法弄清楚如何全局调整SpeedRatio属性(即,使SpeedRatio适用于所有时间轴而不是一次只适用于一个特定时间轴)。动画本身可能来自各种各样的地方(触发器,视觉状态管理器等)
有什么想法吗?
答案 0 :(得分:0)
您可以在所有动画中使用资源:
<KeyTime x:Key="AnimationTime">0</KeyTime>
<Storyboard x:Key="Storyboard1">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBoxBase.Background).(SolidColorBrush.Color)" Storyboard.TargetName="{x:Null}">
<EasingColorKeyFrame KeyTime="{StaticResource AnimationTime}" Value="Red"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>