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.
Это в первую очередь проблема анимации для объектов с длительным временем существования. Когда объект собирается мусор, его часы также отсоединяются и собираются мусор.
Дополнительные сведения о объектах часов см. в анимации и системе синхронизации.