Поделиться через


FrameworkContentElement.BeginStoryboard Метод

Определение

Начинает последовательность действий, содержащихся в предоставленной раскадровки.

Перегрузки

BeginStoryboard(Storyboard)

Начинает последовательность действий, содержащихся в предоставленной раскадровки.

BeginStoryboard(Storyboard, HandoffBehavior)

Начинает последовательность действий, содержащихся в предоставленной раскадровки, с параметрами, указанными для того, что должно произойти, если свойство уже анимировано.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Начинает последовательность действий, содержащихся в предоставленной раскадровки, с указанным состоянием для управления анимацией после его запуска.

BeginStoryboard(Storyboard)

Начинает последовательность действий, содержащихся в предоставленной раскадровки.

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard -> unit
Public Sub BeginStoryboard (storyboard As Storyboard)

Параметры

storyboard
Storyboard

Раскадровка, которую нужно начать.

Комментарии

Для подписей, которые не используют isControllable, параметр или когда этот параметр указан false, временные часы временной шкалы, связанные с анимацией, удаляются сразу после достижения периода "Заливка". Поэтому анимация не может быть перезапущена после запуска один раз. Обратите внимание, что управление анимацией также требует, чтобы раскадровка была названа или доступна как экземпляр в коде.

Применяется к

BeginStoryboard(Storyboard, HandoffBehavior)

Начинает последовательность действий, содержащихся в предоставленной раскадровки, с параметрами, указанными для того, что должно произойти, если свойство уже анимировано.

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior)

Параметры

storyboard
Storyboard

Раскадровка, которую нужно начать.

handoffBehavior
HandoffBehavior

Значение перечисления, описывающего поведение, используемое, если свойство, описанное в раскадровке, уже анимировано.

Комментарии

Для подписей, которые не используют isControllable, параметр или когда этот параметр указан false, временные часы временной шкалы, связанные с анимацией, удаляются сразу после достижения периода "Заливка". Поэтому анимация не может быть перезапущена после запуска один раз. Обратите внимание, что управление анимацией также требует, чтобы раскадровка была названа или доступна как экземпляр в коде.

Использование Compose HandoffBehavior

При применении Storyboard, AnimationTimelineили AnimationClock к свойству с помощью ComposeHandoffBehaviorвсе объекты Clock, ранее связанные с этим свойством, продолжают использовать системные ресурсы; Система времени не удаляет часы автоматически.

Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить часы создания из анимированного свойства после их завершения. Существует несколько способов удаления часов:

  • Чтобы удалить все часы из свойства, используйте метод ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта. Укажите анимированное свойство в качестве первого параметра и null в качестве второго. При этом удаляются все часы анимации из свойства.

  • Чтобы удалить определенную AnimationClock из списка часов, используйте свойство ControllerAnimationClock для получения ClockController, а затем вызовите метод RemoveClockController. Обычно это делается в обработчике событий Completed для часов. Обратите внимание, что только корневые часы могут управляться ClockController; свойство Controller дочерних часов возвращает null. Обратите внимание также, что событие Completed не возникает, если эффективная длительность часов навсегда. В этом случае пользователь должен определить, когда следует вызывать Remove.

Это в первую очередь проблема анимации для объектов с длительным временем существования. Когда объект собирается мусор, его часы также отсоединяются и собираются мусор.

Дополнительные сведения о объектах часов см. в анимации и системе синхронизации.

Применяется к

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Начинает последовательность действий, содержащихся в предоставленной раскадровки, с указанным состоянием для управления анимацией после его запуска.

public:
 void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior, bool isControllable);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior * bool -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior, isControllable As Boolean)

Параметры

storyboard
Storyboard

Раскадровка, которую нужно начать.

handoffBehavior
HandoffBehavior

Значение перечисления, описывающего поведение, используемое, если свойство, описанное в раскадровке, уже анимировано.

isControllable
Boolean

Объявляет, является ли анимация управляемой (можно приостановить) после запуска.

Комментарии

Для подписей, которые не используют isControllable, параметр или когда этот параметр указан false, временные часы временной шкалы, связанные с анимацией, удаляются сразу после достижения периода "Заливка". Поэтому анимация не может быть перезапущена после запуска один раз. Обратите внимание, что управление анимацией также требует, чтобы раскадровка была названа или доступна как экземпляр в коде.

Использование Compose HandoffBehavior

При применении Storyboard, AnimationTimelineили AnimationClock к свойству с помощью ComposeHandoffBehaviorвсе объекты Clock, ранее связанные с этим свойством, продолжают использовать системные ресурсы; Система времени не удаляет эти часы автоматически.

Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить часы создания из анимированного свойства после их завершения. Существует несколько способов удаления часов:

  • Чтобы удалить все часы из свойства, используйте метод ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта. Укажите анимированное свойство в качестве первого параметра и null в качестве второго. При этом удаляются все часы анимации из свойства.

  • Чтобы удалить определенную AnimationClock из списка часов, используйте свойство ControllerAnimationClock для получения ClockController, а затем вызовите метод RemoveClockController. Обычно это делается в обработчике событий Completed для часов. Обратите внимание, что только корневые часы могут управляться ClockController; свойство Controller дочерних часов возвращает null. Обратите внимание также, что событие Completed не возникает, если эффективная длительность часов навсегда. В этом случае пользователь должен определить, когда следует вызывать Remove.

Это в первую очередь проблема анимации для объектов с длительным временем существования. Когда объект собирается мусор, его часы также отсоединяются и собираются мусор.

Дополнительные сведения о объектах часов см. в анимации и системе синхронизации.

Применяется к