RemoveStoryboard Class

Definition

A trigger action that removes a Storyboard.

public ref class RemoveStoryboard sealed : System::Windows::Media::Animation::ControllableStoryboardAction
public sealed class RemoveStoryboard : System.Windows.Media.Animation.ControllableStoryboardAction
type RemoveStoryboard = class
    inherit ControllableStoryboardAction
Public NotInheritable Class RemoveStoryboard
Inherits ControllableStoryboardAction
Inheritance

Examples

The following example shows how to remove a Storyboard to stop it from continuing when the user navigates away from the page containing the Storyboard.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  Name="RootPage">
  <StackPanel>

    <!-- The MediaElement control plays the sound. -->
    <MediaElement Name="myMediaElement" />

    <Button Name="BeginButton">Begin</Button>

    <StackPanel.Triggers>

      <!-- This trigger causes the Storyboard to start (the music start) when you click the
           "BeginButton" button. -->
      <EventTrigger RoutedEvent="Button.Click" SourceName="BeginButton">
        <EventTrigger.Actions>
          <BeginStoryboard Name="myBeginStoryboard">
            <Storyboard>
              <MediaTimeline Source="C:\WINDOWS\Media\town.mid" Storyboard.TargetName="myMediaElement"  
               RepeatBehavior="Forever" />
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger.Actions>
      </EventTrigger>

      <!-- When this page unloads, like when you navigate away from the page, this
           trigger causes the Storyboard to be removed and the clock to stop. If 
           you come back to this page and click the button to start the Storyboard,
           the music starts from the beginning. Alternatively, if you don't unload 
           the Storyboard when you leave the page, the Storyboard does not stop while 
           you're gone and when you navigate back to the page you hear the music  
           continuing as though you had never left. -->
      <EventTrigger RoutedEvent="Page.Unloaded" >
        <EventTrigger.Actions>
          <RemoveStoryboard BeginStoryboardName="myBeginStoryboard" />
        </EventTrigger.Actions>
      </EventTrigger>
    </StackPanel.Triggers>
  </StackPanel>
</Page>

Remarks

Use RemoveStoryboard with a EventTrigger or Trigger to remove a Storyboard.

Pause, Resume, Stop, Remove, or Otherwise Control a Storyboard Interactively

To be able to pause, resume, remove, or otherwise control a Storyboard interactively, set the Name property of its BeginStoryboard and use a ControllableStoryboardAction object (such as PauseStoryboard, ResumeStoryboard, or StopStoryboard) to control it by referencing its Name. If the Name of BeginStoryboard is unspecified, the Storyboard cannot be interactively controlled after it is begun. See How to: Use Event Triggers to Control a Storyboard After It Starts for more information.

When to Remove Storyboards

You should use the RemoveStoryboard action to remove any storyboards begun with a HandoffBehavior of Compose. It's also a good idea to remove background animations when the object they animate is no longer being used. For example, if you apply an indefinitely repeating storyboard using an element's Loaded event, you should also create an EventTrigger that uses a RemoveStoryboard action to remove the storyboard on the element's Unloaded event.

Constructors

RemoveStoryboard()

Initializes a new instance of the RemoveStoryboard class.

Properties

BeginStoryboardName

Gets or sets the Name of the BeginStoryboard that began the Storyboard you want to interactively control.

(Inherited from ControllableStoryboardAction)
DependencyObjectType

Gets the DependencyObjectType that wraps the CLR type of this instance.

(Inherited from DependencyObject)
Dispatcher

Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsSealed

Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)

Methods

CheckAccess()

Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty)

Clears the local value of a property. The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey)

Clears the local value of a read-only property. The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
CoerceValue(DependencyProperty)

Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
Equals(Object)

Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
GetHashCode()

Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator()

Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty)

Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty)

Re-evaluates the effective value for the specified dependency property.

(Inherited from DependencyObject)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. The specific dependency property that changed is reported in the event data.

(Inherited from DependencyObject)
ReadLocalValue(DependencyProperty)

Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object)

Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object)

Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess()

Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Applies to

See also