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