如何在WPF应用程序中全局更改动画的速度?

时间:2011-05-29 19:12:27

标签: wpf xaml animation

我想添加全局更改WPF应用程序中所有动画的速度的功能。例如,一些用户可能不喜欢动画,因此他们可能会将持续时间缩短到正常情况的四分之一。在演示期间,您可能希望将持续时间加倍,以便强调它们。

我想出了如何全局调整DesiredFrameRate属性,但我无法弄清楚如何全局调整SpeedRatio属性(即,使SpeedRatio适用于所有时间轴而不是一次只适用于一个特定时间轴)。动画本身可能来自各种各样的地方(触发器,视觉状态管理器等)

有什么想法吗?

1 个答案:

答案 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>