Timeline Kelas
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.
Mendefinisikan segmen waktu.
public ref class Timeline abstract : System::Windows::Media::Animation::Animatable
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public abstract class Timeline : System.Windows.Media.Animation.Animatable
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type Timeline = class
inherit Animatable
Public MustInherit Class Timeline
Inherits Animatable
- Warisan
- Turunan
- Atribut
Keterangan
Garis waktu mewakili segmen waktu. Ini menyediakan properti yang memungkinkan Anda menentukan panjang segmen tersebut, kapan harus dimulai, berapa kali akan berulang, seberapa cepat waktu berlangsung di segmen itu, dan banyak lagi.
Kelas yang mewarisi dari kelas garis waktu menyediakan fungsionalitas tambahan, seperti animasi dan pemutaran media. Berikut ini adalah contoh dari beberapa jenis garis waktu khusus yang tersedia.
Animasi: An AnimationTimeline adalah jenis garis waktu yang menghasilkan nilai output. Saat Anda mengaitkan animasi dengan properti , animasi memperbarui nilai properti saat diputar, sehingga "meniru" animasi tersebut. Untuk pengenalan animasi, lihat Gambaran Umum Animasi. Untuk informasi tentang berbagai cara untuk menerapkan animasi, lihat Gambaran Umum Teknik Animasi Properti.
MediaTimelines: A MediaTimeline adalah jenis garis waktu yang mengontrol pemutaran file media.
ParallelTimelines: A ParallelTimeline adalah jenis garis waktu yang mengelompokkan garis waktu lainnya.
Papan cerita: A Storyboard adalah jenis ParallelTimeline khusus yang menyediakan informasi penargetan objek dan properti untuk garis waktu yang dikandungnya. Untuk informasi selengkapnya tentang Storyboard objek, lihat Gambaran Umum Papan Cerita.
Untuk informasi selengkapnya tentang menggunakan garis waktu, lihat Gambaran Umum Animasi. Untuk pengenalan fitur pengaturan waktu garis waktu, lihat Gambaran Umum Perilaku Pengaturan Waktu.
Pengikatan Data dan Garis Waktu Animasi
Sebagian besar properti garis waktu dapat terikat data atau dianimasikan; namun, karena cara kerja sistem waktu, garis waktu terikat data atau animasi tidak bereaksi seperti objek terikat data atau animasi lainnya. Untuk memahami perilaku mereka, ini membantu memahami apa artinya mengaktifkan garis waktu.
Saat garis waktu diterapkan, salinan terbuat dari garis waktu dan garis waktu anaknya. Salinan ini dibekukan (dibuat baca-saja) dan Clock objek dibuat darinya. Jam inilah yang melakukan pekerjaan aktual untuk menjiwai properti yang ditargetkan. Jika garis waktu terikat data atau dianimasikan, rekam jepret nilainya saat ini dibuat saat jamnya dibuat. Meskipun garis waktu asli mungkin terus berubah, jamnya tidak.
Agar garis waktu mencerminkan pengikatan data atau perubahan animasi, jamnya harus diregenerasi. Jam tidak diregenerasi untuk Anda secara otomatis. Berikut ini adalah beberapa cara untuk menerapkan perubahan garis waktu:
Jika garis waktu adalah atau milik Storyboard, Anda dapat membuatnya mencerminkan perubahan dengan menerapkan kembali papan ceritanya menggunakan BeginStoryboard atau Begin metode . Ini memiliki efek samping dari juga menghidupkan ulang animasi. Dalam kode, Anda dapat menggunakan Seek metode untuk memajukan papan cerita kembali ke posisi sebelumnya.
Jika Anda menerapkan animasi langsung ke properti menggunakan BeginAnimation metode , panggil BeginAnimation metode lagi dan teruskan animasi yang telah dimodifikasi.
Jika Anda bekerja langsung pada tingkat jam, buat dan terapkan sekumpulan jam baru dan gunakan untuk menggantikan kumpulan jam yang dihasilkan sebelumnya.
Untuk contoh animasi terikat data, lihat Sampel Animasi Spline Kunci .
Menggunakan Garis Waktu sebagai Timer
Jam garis waktu hanya akan berlangsung ketika ada penanganan aktivitas yang terkait dengannya atau (dalam kasus AnimationClock objek) yang terkait dengan properti. Untuk alasan ini (dan lainnya), tidak disarankan agar Anda menggunakan Timeline sebagai timer.
Konstruktor
Timeline() |
Menginisialisasi instans baru kelas Timeline. |
Timeline(Nullable<TimeSpan>) |
Menginisialisasi instans Timeline baru kelas dengan yang ditentukan BeginTime. |
Timeline(Nullable<TimeSpan>, Duration) |
Menginisialisasi instans Timeline baru kelas dengan dan Durationyang ditentukanBeginTime. |
Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior) |
Menginisialisasi instans Timeline baru kelas dengan , , Durationdan RepeatBehavioryang ditentukanBeginTime. |
Bidang
AccelerationRatioProperty |
AccelerationRatio Mengidentifikasi properti dependensi. |
AutoReverseProperty |
AutoReverse Mengidentifikasi properti dependensi. |
BeginTimeProperty |
BeginTime Mengidentifikasi properti dependensi. |
DecelerationRatioProperty |
Mengidentifikasi untuk properti dependensi DecelerationRatio . |
DesiredFrameRateProperty |
Mengidentifikasi properti terlampir DesiredFrameRate . |
DurationProperty |
Duration Mengidentifikasi properti dependensi. |
FillBehaviorProperty |
FillBehavior Mengidentifikasi properti dependensi. |
NameProperty |
Name Mengidentifikasi properti dependensi. |
RepeatBehaviorProperty |
RepeatBehavior Mengidentifikasi properti dependensi. |
SpeedRatioProperty |
Mengidentifikasi untuk properti dependensi SpeedRatio . |
Properti
AccelerationRatio |
Mendapatkan atau menetapkan nilai yang menentukan persentase waktu yang dihabiskan untuk Duration mempercepat berlalunya waktu dari nol hingga tingkat maksimumnya. |
AutoReverse |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah garis waktu diputar secara terbalik setelah menyelesaikan perulangan ke depan. |
BeginTime |
Mendapatkan atau mengatur waktu di mana ini Timeline harus dimulai. |
CanFreeze |
Mendapatkan nilai yang menunjukkan apakah objek dapat dibuat tidak dapat dimodifikasi. (Diperoleh dari Freezable) |
DecelerationRatio |
Mendapatkan atau menetapkan nilai yang menentukan persentase dari garis Duration waktu yang dihabiskan untuk mengurangi berlalunya waktu dari tingkat maksimumnya menjadi nol. |
DependencyObjectType |
Mendapatkan yang membungkus jenis CLR dari instans DependencyObjectType ini. (Diperoleh dari DependencyObject) |
Dispatcher |
Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan. (Diperoleh dari DispatcherObject) |
Duration |
Mendapatkan atau mengatur lamanya waktu pemutaran garis waktu ini, bukan menghitung pengulangan. |
FillBehavior |
Mendapatkan atau menetapkan nilai yang menentukan bagaimana Timeline perilaku setelah mencapai akhir periode aktifnya. |
HasAnimatedProperties |
Mendapatkan nilai yang menunjukkan apakah satu atau beberapa AnimationClock objek dikaitkan dengan salah satu properti dependensi objek ini. (Diperoleh dari Animatable) |
IsFrozen |
Mendapatkan nilai yang menunjukkan apakah objek saat ini dapat dimodifikasi. (Diperoleh dari Freezable) |
IsSealed |
Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja). (Diperoleh dari DependencyObject) |
Name |
Mendapatkan atau menetapkan nama ini Timeline. |
RepeatBehavior |
Mendapatkan atau mengatur perilaku berulang dari garis waktu ini. |
SpeedRatio |
Mendapatkan atau menetapkan tarif, relatif terhadap induknya, pada saat itu berkembang untuk ini Timeline. |
Properti yang Terlampir
DesiredFrameRate |
Mendapatkan atau mengatur kecepatan bingkai yang diinginkan untuk garis waktu ini dan garis waktu anaknya. |
Metode
AllocateClock() | |
ApplyAnimationClock(DependencyProperty, AnimationClock) |
AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan. (Diperoleh dari Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, yang ditentukan HandoffBehavior akan digunakan. (Diperoleh dari Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan. (Diperoleh dari Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, properti yang ditentukan HandoffBehavior akan digunakan. (Diperoleh dari Animatable) |
CheckAccess() |
Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
ClearValue(DependencyProperty) |
Menghapus nilai lokal properti. Properti yang akan dibersihkan ditentukan oleh DependencyProperty pengidentifikasi. (Diperoleh dari DependencyObject) |
ClearValue(DependencyPropertyKey) |
Menghapus nilai lokal properti baca-saja. Properti yang akan dibersihkan ditentukan oleh DependencyPropertyKey. (Diperoleh dari DependencyObject) |
Clone() |
Membuat kloning yang dapat dimodifikasi dari ini Timeline, membuat salinan mendalam dari nilai objek ini. |
CloneCore(Freezable) |
Menjadikan instans sebagai kloning (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti dasar (non-animasi). (Diperoleh dari Freezable) |
CloneCurrentValue() |
Membuat klon yang dapat dimodifikasi dari objek ini Timeline , membuat salinan mendalam dari nilai objek ini saat ini. |
CloneCurrentValueCore(Freezable) |
Menjadikan instans sebagai klon yang dapat dimodifikasi (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti saat ini. (Diperoleh dari Freezable) |
CoerceValue(DependencyProperty) |
Memaksakan nilai properti dependensi yang ditentukan. Ini dicapai dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject. (Diperoleh dari DependencyObject) |
CreateClock() |
Membuat baru, dapat Clock dikontrol dari ini Timeline. Jika ini Timeline memiliki anak-anak, pohon jam dibuat dengan ini Timeline sebagai akar. |
CreateClock(Boolean) |
Membuat baru Clock dari ini Timeline dan menentukan apakah yang baru Clock dapat dikontrol. Jika ini Timeline memiliki anak-anak, pohon jam dibuat dengan ini Timeline sebagai akar. |
CreateInstance() |
Menginisialisasi instans baru kelas Freezable. (Diperoleh dari Freezable) |
CreateInstanceCore() |
Saat diimplementasikan di kelas turunan, membuat instans baru dari kelas turunan Freezable . (Diperoleh dari Freezable) |
Equals(Object) |
Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject. (Diperoleh dari DependencyObject) |
Freeze() |
Membuat objek saat ini tidak dapat dimodifikasi dan mengatur propertinya IsFrozen ke |
FreezeCore(Boolean) |
Membuat ini Timeline tidak dapat dimodifikasi atau menentukan apakah dapat dibuat tidak dapat dimodifikasi. |
GetAnimationBaseValue(DependencyProperty) |
Mengembalikan nilai non-animasi dari yang ditentukan DependencyProperty. (Diperoleh dari Animatable) |
GetAsFrozen() |
Membuat salinan beku dari Freezable, menggunakan nilai properti dasar (non-animasi). Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi. (Diperoleh dari Freezable) |
GetAsFrozenCore(Freezable) |
Menjadikan instans ini sebagai klon objek yang ditentukan Timeline . |
GetCurrentValueAsFrozen() |
Membuat salinan beku dari Freezable menggunakan nilai properti saat ini. Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi. (Diperoleh dari Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
Menjadikan instans ini sebagai klon beku dari yang ditentukan Timeline. Referensi sumber daya, pengikatan data, dan animasi tidak disalin, tetapi nilainya saat ini. |
GetDesiredFrameRate(Timeline) |
Mendapatkan kecepatan bingkai yang diinginkan dari yang ditentukan Timeline. |
GetHashCode() |
Mendapatkan kode hash untuk ini DependencyObject. (Diperoleh dari DependencyObject) |
GetLocalValueEnumerator() |
Membuat enumerator khusus untuk menentukan properti dependensi mana yang memiliki nilai yang ditetapkan secara lokal pada ini DependencyObject. (Diperoleh dari DependencyObject) |
GetNaturalDuration(Clock) |
Mengembalikan panjang perulangan tunggal dari ini Timeline. |
GetNaturalDurationCore(Clock) |
Mengembalikan panjang perulangan tunggal dari ini Timeline. Metode ini menyediakan implementasi untuk GetNaturalDuration(Clock). |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
GetValue(DependencyProperty) |
Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject. (Diperoleh dari DependencyObject) |
InvalidateProperty(DependencyProperty) |
Mengevaluasi kembali nilai efektif untuk properti dependensi yang ditentukan. (Diperoleh dari DependencyObject) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
OnChanged() |
Dipanggil ketika objek saat ini Freezable dimodifikasi. (Diperoleh dari Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Memastikan bahwa penunjuk konteks yang sesuai ditetapkan untuk DependencyObjectType anggota data yang baru saja ditetapkan. (Diperoleh dari Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Anggota ini mendukung infrastruktur Windows Presentation Foundation (WPF) dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. (Diperoleh dari Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Mengambil alih DependencyObject implementasi OnPropertyChanged(DependencyPropertyChangedEventArgs) untuk juga memanggil penangan apa pun Changed sebagai respons terhadap properti dependensi yang berubah dari jenis Freezable. (Diperoleh dari Freezable) |
ReadLocalValue(DependencyProperty) |
Mengembalikan nilai lokal properti dependensi, jika ada. (Diperoleh dari DependencyObject) |
ReadPreamble() |
Memastikan bahwa Freezable sedang diakses dari utas yang valid. Pewaris Freezable harus memanggil metode ini di awal API apa pun yang membaca anggota data yang bukan properti dependensi. (Diperoleh dari Freezable) |
SetCurrentValue(DependencyProperty, Object) |
Mengatur nilai properti dependensi tanpa mengubah sumber nilainya. (Diperoleh dari DependencyObject) |
SetDesiredFrameRate(Timeline, Nullable<Int32>) |
Mengatur kecepatan bingkai yang diinginkan dari yang ditentukan Timeline. |
SetValue(DependencyProperty, Object) |
Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya. (Diperoleh dari DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi. (Diperoleh dari DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai untuk properti dependensi yang disediakan. (Diperoleh dari DependencyObject) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
VerifyAccess() |
Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
WritePostscript() |
Menaikkan Changed peristiwa untuk Freezable dan memanggil metodenya OnChanged() . Kelas yang berasal dari Freezable harus memanggil metode ini di akhir API apa pun yang memodifikasi anggota kelas yang tidak disimpan sebagai properti dependensi. (Diperoleh dari Freezable) |
WritePreamble() |
Memverifikasi bahwa Freezable tidak dibekukan dan sedang diakses dari konteks utas yang valid. Freezable pewaris harus memanggil metode ini di awal API apa pun yang menulis ke anggota data yang bukan properti dependensi. (Diperoleh dari Freezable) |
Acara
Changed |
Terjadi ketika Freezable atau objek yang dikandungnya dimodifikasi. (Diperoleh dari Freezable) |
Completed |
Terjadi ketika garis waktu ini telah benar-benar selesai diputar: garis waktu tidak akan lagi memasuki periode aktifnya. |
CurrentGlobalSpeedInvalidated |
Terjadi ketika laju saat berlangsung untuk jam garis waktu berubah. |
CurrentStateInvalidated |
Terjadi ketika CurrentState properti garis Clock waktu diperbarui. |
CurrentTimeInvalidated |
Terjadi ketika CurrentTime properti garis Clock waktu diperbarui. |
RemoveRequested |
Terjadi ketika jam yang dibuat untuk garis waktu ini atau salah satu garis waktu induknya dihapus. |