Cara: Menggunakan Pemicu Peristiwa untuk Mengontrol Papan Cerita Setelah Dimulai
Contoh ini menunjukkan cara mengontrol Storyboard setelah dimulai. Untuk memulai Storyboard dengan menggunakan XAML, gunakan BeginStoryboard, yang mendistribusikan animasi ke objek dan properti yang dianimasikan dan kemudian memulai papan cerita. Jika Anda memberikan BeginStoryboard nama dengan menentukan propertinya Name , Anda menjadikannya papan cerita yang dapat dikontrol. Anda kemudian dapat mengontrol papan cerita secara interaktif setelah dimulai.
Gunakan tindakan papan cerita berikut bersama dengan EventTrigger objek untuk mengontrol papan cerita.
PauseStoryboard: Menjeda papan cerita.
ResumeStoryboard: Melanjutkan papan cerita yang dijeda.
SetStoryboardSpeedRatio: Mengubah kecepatan papan cerita.
SkipStoryboardToFill: Memajukan papan cerita ke akhir periode pengisiannya, jika memilikinya.
StopStoryboard: Menghentikan papan cerita.
RemoveStoryboard: Menghapus papan cerita, membebaskan sumber daya.
Contoh
Contoh berikut menggunakan tindakan papan cerita yang dapat dikontrol untuk mengontrol papan cerita secara interaktif.
Catatan
Untuk melihat contoh mengontrol papan cerita dengan menggunakan kode, lihat Mengontrol Papan Cerita Setelah Mulai Menggunakan Metode Interaktifnya.
<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>
Untuk contoh tambahan, lihat Galeri Contoh Animasi.
Baca juga
.NET Desktop feedback
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk