HandoffBehavior Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, как новые анимации взаимодействуют с существующими, которые уже применяются к свойству.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| SnapshotAndReplace | 0 | Новые анимации заменяют существующие анимации на свойства, к которым они применяются. |
| Compose | 1 | Новые анимации объединяются с существующими анимациями путем добавления новых анимаций в конец цепочки композиции. |
Комментарии
При применении StoryboardAnimationTimelineсвойства или AnimationClock к свойству с помощью Compose все Clock объекты, ранее связанные с этим свойством, продолжают использовать системные ресурсы. Система времени не будет автоматически удалять часы.
Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить часы создания из анимированного свойства после их завершения. Существует несколько способов удаления часов:
Чтобы удалить все часы из свойства, используйте метод ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта. Укажите анимированное свойство в качестве первого параметра и
nullв качестве второго. Это приведет к удалению всех таймеров анимации из свойства.Чтобы удалить определенную AnimationClock из списка часов, используйте свойство ControllerAnimationClock для получения ClockController, а затем вызовите метод RemoveClockController. Обычно это делается в обработчике событий Completed для часов. Обратите внимание, что только корневые часы можно контролировать с помощью ClockControllerController свойства дочерних часов
null. Обратите внимание также, что Completed событие не будет поднято, если эффективная продолжительность часов навсегда. В этом случае пользователь должен определить, когда следует вызывать Remove.
Это в первую очередь проблема анимации для объектов с длительным временем существования. Когда объект подвергнут сборке мусора, его часы также будут отключены и подвергнуты сборке мусора.
Дополнительные сведения об объектах таймера см. в разделе Обзор системы анимации и синхронизации.