FrameworkElement.BeginStoryboard Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memulai urutan tindakan yang terkandung dalam papan cerita yang disediakan.
Overload
BeginStoryboard(Storyboard) |
Memulai urutan tindakan yang terkandung dalam papan cerita yang disediakan. |
BeginStoryboard(Storyboard, HandoffBehavior) |
Memulai urutan tindakan yang terkandung dalam papan cerita yang disediakan, dengan opsi yang ditentukan untuk apa yang harus terjadi jika properti sudah dianimasikan. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Memulai urutan tindakan yang terkandung dalam papan cerita yang disediakan, dengan status yang ditentukan untuk kontrol animasi setelah dimulai. |
BeginStoryboard(Storyboard)
Memulai urutan tindakan yang terkandung dalam papan cerita yang disediakan.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard -> unit
Public Sub BeginStoryboard (storyboard As Storyboard)
Parameter
- storyboard
- Storyboard
Papan cerita untuk memulai.
Contoh
Contoh berikut mengambil Storyboard dari sumber daya, lalu menjalankannya Storyboard saat peristiwa internal ditangani kelas.
private void OnImage1Animate(object sender, RoutedEventArgs e)
{
Storyboard s;
s = (Storyboard)this.FindResource("RotateStoryboard");
this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim s As Storyboard
s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
Me.BeginStoryboard(s)
End Sub
Keterangan
Sebagian besar skenario animasi umum tidak menggunakan metode ini. Biasanya, Anda membuat Storyboard elemen atau BeginStoryboard dalam markup, lalu menempatkannya sebagai EventTrigger konten pada elemen. Saat dipicu oleh peristiwa, animasi kemudian berjalan. Sebagian besar aspek Storyboard kontrol dapat diatasi oleh properti yang diekspos dalam markup.
Untuk tanda tangan yang tidak menggunakan isControllable
parameter , atau ketika parameter tersebut ditentukan false
, jam garis waktu yang terkait dengan animasi dihapus segera setelah animasi mencapai periode "Isi". Oleh karena itu animasi tidak dapat dimulai ulang setelah berjalan sekali. Mengontrol animasi juga mengharuskan papan cerita memiliki x:Name Directive atau dapat diakses dengan referensi dalam kode.
Berlaku untuk
BeginStoryboard(Storyboard, HandoffBehavior)
Memulai urutan tindakan yang terkandung dalam papan cerita yang disediakan, dengan opsi yang ditentukan untuk apa yang harus terjadi jika properti sudah dianimasikan.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior)
Parameter
- storyboard
- Storyboard
Papan cerita untuk memulai.
- handoffBehavior
- HandoffBehavior
Nilai enumerasi yang menjelaskan perilaku yang akan digunakan jika properti yang dijelaskan di papan cerita sudah dianimasikan.
Contoh
Contoh berikut mengambil Storyboard dari sumber daya, lalu menjalankannya Storyboard saat peristiwa internal ditangani kelas.
private void OnImage1Animate(object sender, RoutedEventArgs e)
{
Storyboard s;
s = (Storyboard)this.FindResource("RotateStoryboard");
this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim s As Storyboard
s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
Me.BeginStoryboard(s)
End Sub
Keterangan
Sebagian besar skenario animasi umum tidak menggunakan metode ini. Biasanya, Anda membuat Storyboard elemen atau BeginStoryboard dalam markup, lalu menempatkannya sebagai EventTrigger konten pada elemen. Saat dipicu oleh peristiwa, animasi kemudian berjalan. Sebagian besar aspek Storyboard kontrol dapat diatasi oleh properti yang diekspos dalam markup.
Untuk tanda tangan yang tidak menggunakan isControllable
parameter , atau ketika parameter tersebut ditentukan false
, jam garis waktu yang terkait dengan animasi dihapus segera setelah animasi mencapai periode "Isi". Oleh karena itu animasi tidak dapat dimulai ulang setelah berjalan sekali. Mengontrol animasi juga mengharuskan papan cerita memiliki x:Name Directive atau dapat diakses dengan referensi dalam kode.
Perilaku handoff dapat ditentukan sebagai atribut dari BeginStoryboard.
Menggunakan Compose HandoffBehavior
Ketika Anda menerapkan Storyboard, , atau AnimationClock ke properti dengan menggunakanHandoffBehaviorCompose , objek apa pun Clock yang sebelumnya terkait dengan properti tersebut terus menggunakan sumber daya sistem; sistem pengaturan waktu tidak menghapus AnimationTimelinejam secara otomatis.
Untuk menghindari masalah performa saat Anda menerapkan sejumlah besar jam dengan menggunakan Compose, Anda harus menghapus jam pembuatan dari properti animasi setelah selesai. Ada beberapa cara untuk menghapus jam:
Untuk menghapus semua jam dari properti, gunakan ApplyAnimationClock(DependencyProperty, AnimationClock) metode atau BeginAnimation(DependencyProperty, AnimationTimeline) objek animasi. Tentukan properti yang dianimasikan sebagai parameter pertama, dan
null
sebagai yang kedua. Ini menghapus semua jam animasi dari properti .Untuk menghapus tertentu AnimationClock dari daftar jam, gunakan Controller properti dari AnimationClock untuk mengambil ClockController, lalu panggil Remove metode dari ClockController. Ini biasanya dilakukan di Completed penanganan aktivitas selama satu jam. Perhatikan bahwa hanya jam akar yang dapat dikontrol oleh ClockController; Controller properti jam anak mengembalikan
null
. Perhatikan juga bahwa Completed peristiwa tidak dinaikkan jika durasi jam efektif selamanya. Dalam hal ini, pengguna harus menentukan kapan harus memanggil Remove.
Ini terutama merupakan masalah untuk animasi pada objek yang memiliki masa pakai yang lama. Ketika objek dikumpulkan sampah, jamnya juga terputus dan sampah dikumpulkan.
Untuk informasi selengkapnya tentang objek jam, lihat Gambaran Umum Animasi dan Sistem Pengaturan Waktu.
Berlaku untuk
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Memulai urutan tindakan yang terkandung dalam papan cerita yang disediakan, dengan status yang ditentukan untuk kontrol animasi setelah dimulai.
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior, bool isControllable);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior * bool -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior, isControllable As Boolean)
Parameter
- storyboard
- Storyboard
Papan cerita untuk memulai.
- handoffBehavior
- HandoffBehavior
Nilai enumerasi yang menjelaskan perilaku yang akan digunakan jika properti yang dijelaskan di papan cerita sudah dianimasikan.
- isControllable
- Boolean
Menyatakan apakah animasi dapat dikontrol (dapat dijeda) setelah dimulai.
Keterangan
Sebagian besar skenario animasi umum tidak menggunakan metode ini. Biasanya, Anda membuat Storyboard elemen atau BeginStoryboard dalam markup, lalu menempatkannya sebagai EventTrigger konten pada elemen. Saat dipicu oleh peristiwa, animasi kemudian berjalan. Sebagian besar aspek Storyboard kontrol dapat diatasi oleh properti yang diekspos dalam markup.
Untuk tanda tangan yang tidak menggunakan isControllable
parameter , atau ketika parameter tersebut ditentukan false
, jam garis waktu yang terkait dengan animasi dihapus segera setelah animasi mencapai periode "Isi". Oleh karena itu animasi tidak dapat dimulai ulang setelah berjalan sekali. Mengontrol animasi juga mengharuskan papan cerita memiliki x:Name Directive atau dapat diakses dengan referensi dalam kode.
Perilaku handoff dapat ditentukan sebagai atribut dari BeginStoryboard.
Menggunakan Compose HandoffBehavior
Ketika Anda menerapkan Storyboard, , atau AnimationClock ke properti dengan menggunakanHandoffBehaviorCompose , objek apa pun Clock yang sebelumnya terkait dengan properti tersebut terus menggunakan sumber daya sistem; sistem pengaturan waktu tidak menghapus AnimationTimelinejam secara otomatis.
Untuk menghindari masalah performa saat Anda menerapkan sejumlah besar jam dengan menggunakan Compose, Anda harus menghapus jam pembuatan dari properti animasi setelah selesai. Ada beberapa cara untuk menghapus jam:
Untuk menghapus semua jam dari properti, gunakan ApplyAnimationClock(DependencyProperty, AnimationClock) metode atau BeginAnimation(DependencyProperty, AnimationTimeline) objek animasi. Tentukan properti yang dianimasikan sebagai parameter pertama, dan
null
sebagai yang kedua. Ini menghapus semua jam animasi dari properti .Untuk menghapus tertentu AnimationClock dari daftar jam, gunakan Controller properti dari AnimationClock untuk mengambil ClockController, lalu panggil Remove metode dari ClockController. Ini biasanya dilakukan di Completed penanganan aktivitas selama satu jam. Perhatikan bahwa hanya jam akar yang dapat dikontrol oleh ClockController; Controller properti jam anak mengembalikan
null
. Perhatikan juga bahwa Completed peristiwa tidak dinaikkan jika durasi jam efektif selamanya. Dalam hal ini, pengguna harus menentukan kapan harus memanggil Remove.
Ini terutama merupakan masalah untuk animasi pada objek yang memiliki masa pakai yang lama. Ketika objek dikumpulkan sampah, jamnya juga terputus dan sampah dikumpulkan.
Untuk informasi selengkapnya tentang objek jam, lihat Gambaran Umum Animasi dan Sistem Pengaturan Waktu.
Berlaku untuk
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