Animatable.ApplyAnimationClock Method

Definition

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

Overloads

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)

Parameters

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

Implements

Remarks

Обратите внимание, что использование этого метода для удаления часов из свойства не останавливает эти часы.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
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock, handoffBehavior As HandoffBehavior)

Parameters

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.

Implements

Examples

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

Remarks

Обратите внимание, что использование этого метода для удаления часов из свойства не останавливает эти часы.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 AnimationClock для получения ClockController, а затем вызовите метод 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 дочернего объекта Clock будет возвращать 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.

Applies to