Timeline.SpeedRatio Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the rate, relative to its parent, at which time progresses for this Timeline.
public:
property double SpeedRatio { double get(); void set(double value); };
public double SpeedRatio { get; set; }
member this.SpeedRatio : double with get, set
Public Property SpeedRatio As Double
Property Value
A finite value greater than 0 that describes the rate at which time progresses for this timeline, relative to the speed of the timeline's parent or, if this is a root timeline, the default timeline speed. The default value is 1.
Exceptions
SpeedRatio is less than 0 or is not a finite value.
Examples
A timeline's SpeedRatio property controls its rate of progress, relative to its parent. If the timeline is a root, its SpeedRatio is relative to the default timeline speed. The following example shows several timelines with different SpeedRatio settings.
<!-- This example shows how to use the SpeedRatio property
to make animations speed up or slow down. -->
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowTitle="Speed Example">
<StackPanel>
<!-- The rectangles to animate. -->
<Rectangle Name="DefaultSpeedRectangle"
Width="20" Height="20" Fill="Blue" />
<Rectangle Name="FasterRectangle"
Width="20" Height="20" Fill="Blue" />
<Rectangle Name="SlowerRectangle"
Width="20" Height="20" Fill="Blue" />
<Rectangle Name="NestedTimelinesExampleRectangle"
Width="20" Height="20" Fill="Blue" />
<!-- Create a button to start the animations. -->
<Button Margin="0,30,0,0" HorizontalAlignment="Left">Start Animations
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<!-- This animation progresses at the same rate as its parent. -->
<DoubleAnimation
Storyboard.TargetName="DefaultSpeedRectangle"
Storyboard.TargetProperty="Width"
From="20" To="400" Duration="0:0:2"
SpeedRatio="1" />
<!-- This animation progresses twice as fast as its parent. -->
<DoubleAnimation
Storyboard.TargetName="FasterRectangle"
Storyboard.TargetProperty="Width"
From="20" To="400" Duration="0:0:2"
SpeedRatio="2" />
<!-- This animation progresses at half the rate of its parent. -->
<DoubleAnimation
Storyboard.TargetName="SlowerRectangle"
Storyboard.TargetProperty="Width"
From="20" To="400" Duration="0:0:2"
SpeedRatio="0.5" />
<ParallelTimeline SpeedRatio="2">
<ParallelTimeline SpeedRatio="2">
<!-- This animation progresses eight times faster
than normal, because of its SpeedRatio settings
and the SpeedRatio settings on its parents. -->
<DoubleAnimation
Storyboard.TargetName="NestedTimelinesExampleRectangle"
Storyboard.TargetProperty="Width"
From="20" To="400" Duration="0:0:2"
SpeedRatio="2" />
</ParallelTimeline>
</ParallelTimeline>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
</StackPanel>
</Page>
Remarks
A timeline's SpeedRatio setting does not have an effect on its BeginTime; that time is relative to the timeline's parent or, if the timeline is a root timeline, the moment at which the timeline's clock was begun.
If AccelerationRatio or DecelerationRatio are specified, this SpeedRatio is the average ratio over the natural length of the timeline.
Dependency Property Information
Item | Value |
---|---|
Identifier field | SpeedRatioProperty |
Metadata properties set to true |
None |