Animatable.ApplyAnimationClock Метод

Определение

Анимирует указанное свойство DependencyProperty с использованием указанного объекта AnimationClock.Animates the specified DependencyProperty using the specified AnimationClock.

Перегрузки

ApplyAnimationClock(DependencyProperty, AnimationClock)

Применяет AnimationClock к заданному DependencyProperty.Applies an AnimationClock to the specified DependencyProperty. Если свойство уже анимировано, используется эстафетное поведение SnapshotAndReplace.If the property is already animated, the SnapshotAndReplace handoff behavior is used.

ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Применяет AnimationClock к заданному DependencyProperty.Applies an AnimationClock to the specified DependencyProperty. Если свойство уже является анимированным, используется указанное поведение HandoffBehavior.If the property is already animated, the specified HandoffBehavior is used.

ApplyAnimationClock(DependencyProperty, AnimationClock)

Применяет AnimationClock к заданному DependencyProperty.Applies an AnimationClock to the specified DependencyProperty. Если свойство уже анимировано, используется эстафетное поведение SnapshotAndReplace.If the property is already animated, the SnapshotAndReplace handoff behavior is used.

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)

Параметры

dp
DependencyProperty

Анимируемое свойство.The property to animate.

clock
AnimationClock

Часы, с помощью которых нужно анимировать заданное свойство.The clock with which to animate the specified property. Если clock имеет значение null, все анимации будут удалены из заданного свойства (но не остановлены).If clock is null, all animations will be removed from the specified property (but not stopped).

Реализации

Комментарии

Обратите внимание, что использование этого метода для удаления часов из свойства не останавливает эти часы.Note that using this method to removing clocks from a property does not stop those clocks.

ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Применяет AnimationClock к заданному DependencyProperty.Applies an AnimationClock to the specified DependencyProperty. Если свойство уже является анимированным, используется указанное поведение HandoffBehavior.If the property is already animated, the specified HandoffBehavior is used.

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

Параметры

dp
DependencyProperty

Анимируемое свойство.The property to animate.

clock
AnimationClock

Часы, с помощью которых нужно анимировать заданное свойство.The clock with which to animate the specified property. Если параметр handoffBehavior имеет значение SnapshotAndReplace, а параметр clock – значение null, все анимации будут удалены из указанного свойства (но не остановлены).If handoffBehavior is SnapshotAndReplace and clock is null, all animations will be removed from the specified property (but not stopped). Если параметр handoffBehavior равен Compose и часы имеют значение null, этот метод не действует.If handoffBehavior is Compose and clock is null, this method has no effect.

handoffBehavior
HandoffBehavior

Значение, которое указывает, как новая анимация должна взаимодействовать с любыми текущими анимациями, уже влияющими на значение свойства.A value that specifies how the new animation should interact with any current animations already affecting the property value.

Реализации

Примеры

В следующем примере показано, как применять часы анимации с помощью различных HandoffBehavior параметров.The following example shows how to apply animation clocks using different HandoffBehavior settings.

Комментарии

Обратите внимание, что использование этого метода для удаления часов из свойства не останавливает эти часы.Note that using this method to remove clocks from a property does not stop those clocks.

Использование создания HandoffBehaviorUsing the Compose HandoffBehavior

При Storyboardприменении, AnimationTimelineили AnimationClock к свойству с помощью Compose HandoffBehaviorвсе Clock объекты, ранее связанные с этим свойством, продолжают потреблять системные ресурсы; система времени не будет Удалите эти часы автоматически.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.

Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить составные часы из анимированного свойства после их завершения.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. Есть несколько способов удаления часов.There are several ways to remove a clock.

  • Чтобы удалить все часы из свойства, используйте ApplyAnimationClock(DependencyProperty, AnimationClock) метод или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта.To remove all clocks from a property, use the ApplyAnimationClock(DependencyProperty, AnimationClock) or BeginAnimation(DependencyProperty, AnimationTimeline) method of the animated object. Укажите свойство, которое анимируется как первый параметр, а null в качестве второго.Specify the property being animated as the first parameter, and null as the second. Это удалит из свойства все часы анимации.This will remove all animation clocks from the property.

  • Чтобы AnimationClock удалить определенное значение из списка часов, Controller используйте свойство ClockControllerобъекта AnimationClock для получения, а затем вызовите Remove метод класса ClockController.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. Обычно это делается в Completed обработчике событий для часов.This is typically done in the Completed event handler for a clock. Обратите внимание, что только корневые часы могут управляться ClockController Controller ; свойство дочернего часов будет возвращать nullзначение.Note that only root clocks can be controlled by a ClockController; the Controller property of a child clock will return null. Обратите внимание, Completed что событие не будет вызываться, если фактическая длительность часов бесконечно.Note also that the Completed event will not be called if the effective duration of the clock is forever. В этом случае пользователю нужно будет определить, когда следует вызывать Remove.In that case, the user will need to determine when to call Remove.

В основном это проблема для анимации объектов, имеющих длинное время жизни.This is primarily an issue for animations on objects that have a long lifetime. Когда объект собирается как мусор, его часы отсоединяются и также собираются как мусор.When an object is garbage collected, its clocks will also be disconnected and garbage collected.

Дополнительные сведения об объектах часов см. в разделе Общие сведения о анимации и системе управления временем.For more information about clock objects, see the Animation and Timing System Overview.

Применяется к