Animatable.ApplyAnimationClock Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Анимирует указанный DependencyProperty с помощью указанного AnimationClock.
Перегрузки
| Имя | Описание |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, SnapshotAndReplace используется поведение передачи. |
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, используется указанный HandoffBehavior параметр. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, SnapshotAndReplace используется поведение передачи.
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)
Параметры
Свойство для анимации.
- clock
- AnimationClock
Часы, с помощью которых нужно анимировать указанное свойство. Если clock это nullтак, все анимации будут удалены из указанного свойства (но не остановлены).
Реализации
Комментарии
Обратите внимание, что использование этого метода для удаления часов из свойства не останавливает эти часы.
Применяется к
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, используется указанный HandoffBehavior параметр.
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)
Параметры
Свойство для анимации.
- clock
- AnimationClock
Часы, с помощью которых нужно анимировать указанное свойство. Если handoffBehavior это и clocknullестьSnapshotAndReplace, все анимации будут удалены из указанного свойства (но не остановлены). Если handoffBehavior есть Compose и часы null, этот метод не действует.
- handoffBehavior
- HandoffBehavior
Значение, указывающее, как новая анимация должна взаимодействовать с любыми текущими анимациями, уже влияющими на значение свойства.
Реализации
Примеры
В следующем примере показано, как применять часы анимации с помощью различных HandoffBehavior параметров.
Комментарии
Обратите внимание, что использование этого метода для удаления часов из свойства не останавливает эти часы.
Использование Compose HandoffBehavior
При применении StoryboardAnimationTimelineсвойства или AnimationClock к свойству с помощью ComposeHandoffBehaviorлюбого Clock объекта, ранее связанного с этим свойством, продолжают потреблять системные ресурсы. Система времени не будет автоматически удалять эти часы.
Чтобы избежать проблем с производительностью при применении большого количества часов, Composeследует удалить часы создания из анимированного свойства после их завершения. Существует несколько способов удаления часов.
Чтобы удалить все часы из свойства, используйте ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) метод анимированного объекта. Укажите анимированное свойство в качестве первого параметра и
nullв качестве второго. Это приведет к удалению всех часов анимации из свойства.Чтобы удалить определенный AnimationClock из списка часов, используйте Controller свойство AnimationClock извлекаемого ClockControllerобъекта, а затем вызовите Remove метод ClockController. Обычно это делается в обработчике Completed событий для часов. Обратите внимание, что только корневые часы можно контролировать с помощью ClockControllerController свойства дочерних часов
null. Обратите внимание также, что Completed событие не будет вызываться, если эффективная длительность часов навсегда. В этом случае пользователю потребуется определить, когда следует вызывать Remove.
Это в первую очередь проблема анимации для объектов с длительным временем существования. Когда объект собирается мусор, его часы также будут отключены и сбор мусора.
Дополнительные сведения о объектах часов см. в разделе "Обзор системы анимации и времени".