BeginStoryboard.HandoffBehavior Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает соответствующее поведение передачи для запуска таймера анимации в этой раскадровке.
public:
property System::Windows::Media::Animation::HandoffBehavior HandoffBehavior { System::Windows::Media::Animation::HandoffBehavior get(); void set(System::Windows::Media::Animation::HandoffBehavior value); };
public System.Windows.Media.Animation.HandoffBehavior HandoffBehavior { get; set; }
member this.HandoffBehavior : System.Windows.Media.Animation.HandoffBehavior with get, set
Public Property HandoffBehavior As HandoffBehavior
Значение свойства
Одно из значений перечисления HandoffBehavior. Значение по умолчанию — SnapshotAndReplace.
Комментарии
Использование compose HandoffBehavior
При применении Storyboard, AnimationTimelineили AnimationClock к свойству с помощью HandoffBehavior.Composeвсе объекты, ранее связанные с этим свойством, Clock продолжают потреблять системные ресурсы; система синхронизации не удаляет эти часы автоматически.
Чтобы избежать проблем с производительностью при применении большого количества часов через Compose, следует удалять составные часы из анимируемого свойства после их завершения. Удалить часы можно несколькими способами:
Чтобы удалить все часы из свойства, используйте метод ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта. Укажите в качестве первого параметра анимируемое свойство, а в качестве второго параметра —
null
. Это удалит из свойства все часы анимации.Чтобы удалить определенный AnimationClock из списка часов, используйте свойствоController объекта AnimationClock для извлечения ClockController, а затем вызовите метод Remove объекта ClockController. Обычно это делается в обработчике событий Completed для часов. Обратите внимание, что только корневые часы могут управляться с помощью ClockController; Controller свойство дочерних часов возвращает
null
. Обратите внимание, что Completed событие не вызывается, если действивная продолжительность часов навсегда. В этом случае пользователь должен определить, когда следует вызывать Remove.
В основном это проблема для анимации объектов, имеющих длинное время жизни. Когда объект собирает мусор, его часы также отключаются и собирают мусор.
Дополнительные сведения об объектах часов см. в разделе Общие сведения об анимации и системе управления временем.