Nasıl yapılır: Görsel Taslağı Başladıktan Sonra Denetlemek için Olay Tetikleyicilerini Kullanma
Bu örnek, başladıktan sonra nasıl kontrol yapılacağını gösterir Storyboard . XAML kullanarak başlatmak için, StoryboardBeginStoryboard animasyonlarını canlandırdıkları nesnelere ve özelliklere dağıtan ve sonra film şeridini Başlatan öğesini kullanın. BeginStoryboardÖzelliğini belirterek bir ad verirseniz Name , denetlenebilir bir görsel taslak yaparsınız. Sonra film şeridini başladıktan sonra etkileşimli bir şekilde denetleyebilirsiniz.
Film şeridini denetlemek için aşağıdaki film şeridi eylemlerini nesneleriyle birlikte kullanın EventTrigger .
PauseStoryboard: Film şeridini duraklatır.
ResumeStoryboard: Duraklatılmış bir film şeridini sürdürür.
SetStoryboardSpeedRatio: Film şeridi hızını değiştirir.
SkipStoryboardToFill: Bir film şeridini, varsa, kendi Fill döneminin sonuna ilerletir.
StopStoryboard: Görsel taslağı sonlandırır.
RemoveStoryboard: Kaynak şeridi kaldırır ve kaynakları serbest bırakır.
Örnek
Aşağıdaki örnek, bir görsel taslağı etkileşimli olarak denetlemek için denetlenebilir görsel taslak eylemlerini kullanır.
Not
Kodu kullanarak bir film şeridini denetlemeye ilişkin bir örnek görmek için bkz. etkileşimli yöntemlerini kullanarak başladıktan sonra bir görsel taslağı denetleme.
<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>
Daha fazla örnek için animasyon örnek galerisinebakın.