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
При применении StoryboardAnimationTimelineсвойства или AnimationClock к свойству с помощьюHandoffBehaviorCompose любого объекта, ранее связанного с этим свойством, Clock продолжают потреблять системные ресурсы. Система времени не удаляет часы автоматически.
Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить часы создания из анимированного свойства после их завершения. Существует несколько способов удаления часов:
Чтобы удалить все часы из свойства, используйте ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) метод анимированного объекта. Укажите анимированное свойство в качестве первого параметра и
nullв качестве второго. При этом удаляются все часы анимации из свойства.Чтобы удалить определенный AnimationClock из списка часов, используйте Controller свойство AnimationClock извлекаемого ClockControllerобъекта, а затем вызовите Remove метод ClockController. Обычно это делается в обработчике Completed событий для часов. Обратите внимание, что только корневые часы можно контролировать с помощью ClockControllerController свойства дочерних часов
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
При применении StoryboardAnimationTimelineсвойства или AnimationClock к свойству с помощьюHandoffBehaviorCompose любого объекта, ранее связанного с этим свойством, Clock продолжают потреблять системные ресурсы. Система времени не удаляет эти часы автоматически.
Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить часы создания из анимированного свойства после их завершения. Существует несколько способов удаления часов:
Чтобы удалить все часы из свойства, используйте ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) метод анимированного объекта. Укажите анимированное свойство в качестве первого параметра и
nullв качестве второго. При этом удаляются все часы анимации из свойства.Чтобы удалить определенный AnimationClock из списка часов, используйте Controller свойство AnimationClock извлекаемого ClockControllerобъекта, а затем вызовите Remove метод ClockController. Обычно это делается в обработчике Completed событий для часов. Обратите внимание, что только корневые часы можно контролировать с помощью ClockControllerController свойства дочерних часов
null. Обратите внимание также, что Completed событие не вызывается, если эффективная продолжительность часов навсегда. В этом случае пользователь должен определить, когда следует вызывать Remove.
Это в первую очередь проблема анимации для объектов с длительным временем существования. Когда объект собирается мусор, его часы также отсоединяются и собираются мусор.
Дополнительные сведения о объектах часов см. в разделе "Обзор системы анимации и времени".