Belirtilen AnimationClockkullanarak belirtilen DependencyProperty hareketlendirir.Animates the specified DependencyProperty using the specified AnimationClock.
Canlandırılacak özellik.The property to animate.
Belirtilen özelliğin canlandırılacağı saat.The clock with which to animate the specified property. clock null, tüm animasyonlar belirtilen özellikten kaldırılır (ancak durdurulmaz).If clock is null, all animations will be removed from the specified property (but not stopped).
Bir özellikten saatleri kaldırmak için bu yöntemi kullanmanın bu saatleri durdurmadığını unutmayın.Note that using this method to removing clocks from a property does not stop those clocks.
Belirtilen özelliğin canlandırılacağı saat.The clock with which to animate the specified property. handoffBehavior SnapshotAndReplace ve clock nullise, tüm animasyonlar belirtilen özellikten kaldırılır (ancak durdurulmaz).If handoffBehavior is SnapshotAndReplace and clock is null, all animations will be removed from the specified property (but not stopped). handoffBehavior Compose ve Clock null, bu yöntemin hiçbir etkisi yoktur.If handoffBehavior is Compose and clock is null, this method has no effect.
Yeni animasyonun, zaten özellik değerini etkileyen geçerli animasyonlarla nasıl etkileşime gireceğini belirten bir değer.A value that specifies how the new animation should interact with any current animations already affecting the property value.
Aşağıdaki örnek, farklı HandoffBehavior ayarlarını kullanarak animasyon saatlerinin nasıl uygulanacağını gösterir.The following example shows how to apply animation clocks using different HandoffBehavior settings.
Bir özellikten saatleri kaldırmak için bu yöntemi kullanmanın bu saatleri durdurmadığını unutmayın.Note that using this method to remove clocks from a property does not stop those clocks.
HandoffBehavior.Compose Özelliğini KullanmaUsing the Compose HandoffBehavior
Compose HandoffBehaviorkullanarak bir özelliğe Storyboard, AnimationTimelineveya AnimationClock uyguladığınızda, daha önce bu özellikle ilişkilendirilen tüm Clock nesneleri sistem kaynaklarını kullanmaya devam eder; zamanlama sistemi bu saatleri otomatik olarak kaldırmaz.When you apply a Storyboard, AnimationTimeline, or AnimationClock to a property using the Compose HandoffBehavior, any Clock objects previously associated with that property continue to consume system resources; the timing system will not remove these clocks automatically.
Composekullanarak çok sayıda saat uyguladığınızda performans sorunlarından kaçınmak için, tamamlandıktan sonra animasyonlu özelliğinden saatleri oluşturmayı kaldırmanız gerekir.To avoid performance issues when you apply a large number of clocks using Compose, you should remove composing clocks from the animated property after they complete. Saati kaldırmanın birkaç yolu vardır.There are several ways to remove a clock.
Bir özellikten tüm saatleri kaldırmak için, animasyonlu nesnenin ApplyAnimationClock(DependencyProperty, AnimationClock) veya BeginAnimation(DependencyProperty, AnimationTimeline) yöntemini kullanın.To remove all clocks from a property, use the ApplyAnimationClock(DependencyProperty, AnimationClock) or BeginAnimation(DependencyProperty, AnimationTimeline) method of the animated object. İlk parametre olarak hareketlendirilen özelliği ve ikinci olarak null belirtin.Specify the property being animated as the first parameter, and null as the second. Bu, tüm animasyon saatlerini özellikten kaldırır.This will remove all animation clocks from the property.
Belirli bir AnimationClock saat listesinden kaldırmak için, ClockControlleralmak için AnimationClock Controller özelliğini kullanın ve ardından Remove ClockControlleryöntemini çağırın.To remove a specific AnimationClock from a list of clocks, use the Controller property of the AnimationClock to retrieve a ClockController, then call the Remove method of the ClockController. Bu, genellikle bir saat için Completed olay işleyicisinde yapılır.This is typically done in the Completed event handler for a clock. Yalnızca kök saatlerinin bir ClockControllertarafından denetlenebileceğini unutmayın; bir alt saatin Controller özelliği, nulldöndürür.Note that only root clocks can be controlled by a ClockController; the Controller property of a child clock will return null. Ayrıca, saatin geçerlilik süresi süresiz ise Completed olayının çağrılmadığını unutmayın.Note also that the Completed event will not be called if the effective duration of the clock is forever. Bu durumda, kullanıcının Removene zaman çağrılacağını belirlemesi gerekir.In that case, the user will need to determine when to call Remove.
Bu, öncelikle uzun ömürlü nesneler üzerindeki animasyonlar için bir sorundur.This is primarily an issue for animations on objects that have a long lifetime. Bir nesne atık olarak toplandığında, saatlerinin de bağlantısı kesilir ve atık olarak toplanır.When an object is garbage collected, its clocks will also be disconnected and garbage collected.
Saat nesneleri hakkında daha fazla bilgi için bkz. animasyon ve zamanlama sistemine genel bakış.For more information about clock objects, see the Animation and Timing System Overview.