Seeks this Storyboard to the specified position. The Storyboard performs the requested seek when the next clock tick occurs.
Namespace:
System.Windows.Media.Animation
Assembly:
PresentationFramework (in PresentationFramework.dll)
Visual Basic (Declaration)
Public Sub Seek ( _
containingObject As FrameworkElement, _
offset As TimeSpan, _
origin As TimeSeekOrigin _
)
Dim instance As Storyboard
Dim containingObject As FrameworkElement
Dim offset As TimeSpan
Dim origin As TimeSeekOrigin
instance.Seek(containingObject, offset, _
origin)
public void Seek(
FrameworkElement containingObject,
TimeSpan offset,
TimeSeekOrigin origin
)
public:
void Seek(
FrameworkElement^ containingObject,
TimeSpan offset,
TimeSeekOrigin origin
)
public function Seek(
containingObject : FrameworkElement,
offset : TimeSpan,
origin : TimeSeekOrigin
)
You cannot use methods in XAML.
Note that seek operations do not take the storyboard's SpeedRatio or SlipBehavior settings into account. The storyboard is treated as though it has a SpeedRatio of 1 and no SlipBehavior.
This method changes the storyboard clock's CurrentState to Active. This method has no effect on the timing tree until the next time a tick is processed. As a side-effect, the appropriate events are also not raised until then.
To interactively control this storyboard, you must use the same containingObject parameter when calling the interactive methods that you used to begin the storyboard. A controllable storyboard can pause, resume, seek, stop, and be removed if it is made controllable. To make a storyboard controllable in code, you must use the appropriate overload of the storyboard's Begin method and specify true to make it controllable. For an example, see How to: Control a Storyboard After It Starts.
Seeking a storyboard triggers the CurrentGlobalSpeedInvalidated and CurrentStateInvalidated events.
The following example shows how to seek (skip) to one second after a Storyboard begins.
The next example shows both the Seek and SeekAlignedToLastTick methods.
The following example shows how to use the Seek method of a Storyboard to jump to any position in a storyboard animation.
Below is the XAML markup for the sample.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.SeekStoryboardExample">
<StackPanel Margin="20" >
<Rectangle Name="myRectangle"
Width="10" Height="20" Fill="#AA3333FF" HorizontalAlignment="Left" >
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard Name="myBeginStoryboard">
<Storyboard Name="myStoryboard" Duration="0:0:4">
<DoubleAnimation
Storyboard.TargetName="myRectangle"
Storyboard.TargetProperty="Width"
Duration="0:0:4" From="10" To="500"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
<!-- Use this slider to seek to different points of the Storyboard Duration
(in milliseconds). -->
<Slider Name="SeekSlider" ValueChanged="OnSliderValueChanged" Height="Auto"
Width="500" Minimum="0" Maximum="4000" HorizontalAlignment="Left" />
</StackPanel>
</Page>
Below is the code used with the XAML code above.
using System;
using System.Media;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;
namespace SDKSample
{
public partial class SeekStoryboardExample : Page
{
private void OnSliderValueChanged(object sender, RoutedEventArgs e)
{
int sliderValue = (int)SeekSlider.Value;
// Use the value of the slider to seek to a duration value of the Storyboard (in milliseconds).
myStoryboard.Seek(myRectangle, new TimeSpan(0, 0, 0, 0, sliderValue), TimeSeekOrigin.BeginTime);
}
}
}
More Code
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5, 3.0
Reference