Timeline Kelas

Definisi

Menentukan 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 tersebut, dan banyak lagi.

Kelas yang mewarisi dari kelas garis waktu menyediakan fungsionalitas tambahan, seperti animasi dan pemutaran media. Berikut ini adalah contoh beberapa jenis garis waktu khusus yang tersedia.

  • Animasi: Adalah AnimationTimeline jenis garis waktu yang menghasilkan nilai output. Saat Anda mengaitkan animasi dengan properti, animasi memperbarui nilai properti saat diputar, sehingga "menganimasikan" 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 waktu garis waktu, lihat Gambaran Umum Perilaku Pengaturan Waktu.

Pengikatan Data dan Garis Waktu Animasi

Sebagian besar properti garis waktu dapat berupa data yang terikat atau dianimasikan; namun, karena cara kerja sistem waktu, garis waktu terikat data atau animasi tidak bereaksi seperti data lain yang terikat atau objek animasi. Untuk memahami perilaku mereka, ini membantu memahami apa artinya mengaktifkan garis waktu.

Ketika 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 berikan 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 properti SpeedRatio dependensi.

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

Mendapatkan ini DispatcherDispatcherObject 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 mengatur nama ini Timeline.

RepeatBehavior

Mendapatkan atau mengatur perilaku berulang dari garis waktu ini.

SpeedRatio

Mendapatkan atau menetapkan tarif, relatif terhadap induknya, pada saat itu berlangsung untuk ini Timeline.

Properti yang Terlampir

DesiredFrameRate

Mendapatkan atau mengatur kecepatan bingkai yang diinginkan untuk garis waktu ini dan garis waktu anaknya.

Metode

AllocateClock()

Clock Membuat untuk iniTimeline.

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 true.

(Diperoleh dari Freezable)
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.

Berlaku untuk

Lihat juga