.NET Framework Class Library
Storyboard..::.Seek Method (FrameworkElement, TimeSpan, TimeSeekOrigin)

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)
Syntax

Visual Basic (Declaration)
Public Sub Seek ( _
    containingObject As FrameworkElement, _
    offset As TimeSpan, _
    origin As TimeSeekOrigin _
)
Visual Basic (Usage)
Dim instance As Storyboard
Dim containingObject As FrameworkElement
Dim offset As TimeSpan
Dim origin As TimeSeekOrigin

instance.Seek(containingObject, offset, _
    origin)
C#
public void Seek(
    FrameworkElement containingObject,
    TimeSpan offset,
    TimeSeekOrigin origin
)
Visual C++
public:
void Seek(
    FrameworkElement^ containingObject, 
    TimeSpan offset, 
    TimeSeekOrigin origin
)
JScript
public function Seek(
    containingObject : FrameworkElement, 
    offset : TimeSpan, 
    origin : TimeSeekOrigin
)
XAML
You cannot use methods in XAML.

Parameters

containingObject
Type: System.Windows..::.FrameworkElement
The object specified when the Begin method was called. This object contains the Clock objects that were created for this storyboard and its children.
offset
Type: System..::.TimeSpan
A positive or negative value that describes the amount by which the timeline should move forward or backward from the specified origin.
origin
Type: System.Windows.Media.Animation..::.TimeSeekOrigin
The position from which offset is applied.
Remarks

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.

Examples

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.

XAML
<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.

C#
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

How to: Seek a Storyboard Synchronously The following example shows how to use the SeekAlignedToLastTick method of a Storyboard to seek to any position in a storyboard animation synchronously.
Platforms

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.
Version Information

.NET Framework

Supported in: 3.5, 3.0
See Also

Reference

Tags :


Page view tracker