Procedure: Gebeurtenistriggers gebruiken om een storyboard te beheren nadat deze is gestart
In dit voorbeeld ziet u hoe u een Storyboard kunt beheren nadat deze is gestart. Als u een Storyboard wilt starten met XAML, gebruikt u BeginStoryboard, waarmee de animaties worden verdeeld over de objecten en eigenschappen die ze animeren en vervolgens het storyboard start. Als u BeginStoryboard een naam geeft door de eigenschap Name op te geven, maakt u deze een besturingselement voor het verhaalbord. Vervolgens kunt u het storyboard interactief beheren nadat het is gestart.
Gebruik de volgende storyboard-acties samen met EventTrigger objecten om een storyboard te beheren.
PauseStoryboard: hiermee wordt het storyboard onderbroken.
ResumeStoryboard: hervat een onderbroken storyboard.
SetStoryboardSpeedRatio: Hiermee wijzigt u de snelheid van het storyboard.
SkipStoryboardToFill: Hiermee wordt een storyboard naar het einde van de opvulperiode gebracht, als deze er een heeft.
StopStoryboard: Stopt het storyboard.
RemoveStoryboard: Hiermee verwijdert u het storyboard, waardoor resources worden vrijgemaakt.
Voorbeeld
In het volgende voorbeeld worden besturingsbare storyboard-acties gebruikt om interactief een storyboard te beheren.
Notitie
Zie Bestuur een Storyboard Nadat Het is Begonnen Met Zijn Interactieve Methoden te Gebruikenvoor een voorbeeld van het beheren van een storyboard met behulp van code.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowTitle="Controlling a Storyboard" >
<StackPanel Margin="20" >
<!-- This rectangle is animated. -->
<Rectangle Name="myRectangle"
Width="100" Height="20" Margin="12,0,0,5" Fill="#AA3333FF" HorizontalAlignment="Left" />
<!-- This StackPanel contains all the Buttons. -->
<StackPanel Orientation="Horizontal" Margin="0,30,0,0">
<Button Name="BeginButton">Begin</Button>
<Button Name="PauseButton">Pause</Button>
<Button Name="ResumeButton">Resume</Button>
<Button Name="SeekButton">Seek</Button>
<Button Name="SkipToFillButton">Skip To Fill</Button>
<Button Name="SetSpeedRatioButton">Triple Speed</Button>
<Button Name="StopButton">Stop</Button>
<StackPanel.Triggers>
<!-- Begin the Storyboard -->
<EventTrigger RoutedEvent="Button.Click" SourceName="BeginButton">
<BeginStoryboard Name="MyBeginStoryboard">
<Storyboard >
<DoubleAnimation
Storyboard.TargetName="myRectangle"
Storyboard.TargetProperty="Width"
Duration="0:0:5" From="100" To="500" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<!-- Pause the Storyboard -->
<EventTrigger RoutedEvent="Button.Click" SourceName="PauseButton">
<PauseStoryboard BeginStoryboardName="MyBeginStoryboard" />
</EventTrigger>
<!-- Resume the Storyboard -->
<EventTrigger RoutedEvent="Button.Click" SourceName="ResumeButton">
<ResumeStoryboard BeginStoryboardName="MyBeginStoryboard" />
</EventTrigger>
<!-- Seek one second into the storyboard's active period. -->
<EventTrigger RoutedEvent="Button.Click" SourceName="SeekButton">
<SeekStoryboard
BeginStoryboardName="MyBeginStoryboard"
Offset="0:0:1" Origin="BeginTime" />
</EventTrigger>
<!-- Skip to Fill -->
<EventTrigger RoutedEvent="Button.Click" SourceName="SkipToFillButton">
<SkipStoryboardToFill BeginStoryboardName="MyBeginStoryboard" />
</EventTrigger>
<!-- Stop the Storyboard -->
<EventTrigger RoutedEvent="Button.Click" SourceName="StopButton">
<StopStoryboard BeginStoryboardName="MyBeginStoryboard" />
</EventTrigger>
<!-- Triple the speed of the Storyboard -->
<EventTrigger RoutedEvent="Button.Click" SourceName="SetSpeedRatioButton">
<SetStoryboardSpeedRatio SpeedRatio="3" BeginStoryboardName="MyBeginStoryboard" />
</EventTrigger>
</StackPanel.Triggers>
</StackPanel>
</StackPanel>
</Page>
Zie de Animatievoorbeeldgalerievoor meer voorbeelden.
Zie ook
.NET Desktop feedback