Animatable.ApplyAnimationClock Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen AnimationClockkullanarak belirtilen DependencyProperty animasyon ekler.
Aşırı Yüklemeler
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Belirtilen DependencyPropertybir AnimationClock uygular. Özelliği zaten animasyonlu ise, SnapshotAndReplace iletim davranışı kullanılır. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Belirtilen DependencyPropertybir AnimationClock uygular. Özellik zaten animasyonluysa, belirtilen HandoffBehavior kullanılır. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Belirtilen DependencyPropertybir AnimationClock uygular. Özelliği zaten animasyonlu ise, SnapshotAndReplace iletim davranışı kullanılır.
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock)
Parametreler
Animasyon eklemek için özellik.
- clock
- AnimationClock
Belirtilen özelliğe animasyon eklemek için saat.
clock
null
ise, tüm animasyonlar belirtilen özellikten kaldırılır (ancak durdurulmaz).
Uygulamalar
Açıklamalar
Bir özellikten saatleri kaldırmak için bu yöntemin kullanılması bu saatleri durdurmaz.
Şunlara uygulanır
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Belirtilen DependencyPropertybir AnimationClock uygular. Özellik zaten animasyonluysa, belirtilen HandoffBehavior kullanılır.
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock, handoffBehavior As HandoffBehavior)
Parametreler
Animasyon eklemek için özellik.
- clock
- AnimationClock
Belirtilen özelliğe animasyon eklemek için saat.
handoffBehavior
SnapshotAndReplace ve clock
null
ise, tüm animasyonlar belirtilen özellikten kaldırılır (ancak durdurulmaz).
handoffBehavior
Compose ve saat null
ise, bu yöntemin hiçbir etkisi yoktur.
- handoffBehavior
- HandoffBehavior
Yeni animasyonların özellik değerini zaten etkileyen geçerli animasyonlarla nasıl etkileşim kuracaklarını belirten bir değer.
Uygulamalar
Örnekler
Aşağıdaki örnekte, farklı HandoffBehavior ayarları kullanılarak animasyon saatlerinin nasıl uygulanacağı gösterilmektedir.
Açıklamalar
Bu yöntemi kullanarak bir özellikten saatleri kaldırmanın bu saatleri durdurmadığını unutmayın.
Compose HandoffBehavior Kullanma
Compose HandoffBehaviorkullanarak bir özelliğe Storyboard, AnimationTimelineveya AnimationClock uyguladığınızda, daha önce bu özellikle ilişkilendirilmiş tüm Clock nesneleri sistem kaynaklarını kullanmaya devam eder; zamanlama sistemi bu saatleri otomatik olarak kaldırmaz.
Composekullanarak çok sayıda saat uyguladığınızda performans sorunlarını önlemek için, oluşturma saatlerini tamamlandıktan sonra animasyonlu özellikten kaldırmanız gerekir. Bir saati kaldırmanın çeşitli yolları vardır.
Bir özellikten tüm saatleri kaldırmak için animasyonlu nesnenin ApplyAnimationClock(DependencyProperty, AnimationClock) veya BeginAnimation(DependencyProperty, AnimationTimeline) yöntemini kullanın. Animasyonlu özelliği ilk parametre olarak,
null
ikinci parametre olarak belirtin. Bu, özelliğinden tüm animasyon saatlerini kaldırır.Belirli bir AnimationClock saat listesinden kaldırmak için, AnimationClockController özelliğini kullanarak ClockControlleralın ve ClockControllerRemove yöntemini çağırın. Bu genellikle bir saat için Completed olay işleyicisinde yapılır. Yalnızca kök saatlerin bir ClockControllertarafından denetlenebileceğini unutmayın; alt saatin Controller özelliği
null
döndürür. Saatin geçerlilik süresi sonsuza kadar ise Completed olayının çağrılmadığını da unutmayın. Bu durumda, kullanıcının Removene zaman çağrılacağını belirlemesi gerekir.
Bu öncelikle yaşam süresi uzun olan nesnelerdeki animasyonlar için bir sorundur. Bir nesne çöp toplandığında, saatleri de kesilir ve çöp toplanır.
Saat nesneleri hakkında daha fazla bilgi için bkz. Animasyon ve Zamanlama Sistemine Genel Bakış.