FrameworkContentElement.BeginStoryboard Метод

Определение

Начинает последовательность действий, содержащихся в предоставленной раскадровке.Begins the sequence of actions that are contained in the provided storyboard.

Перегрузки

BeginStoryboard(Storyboard)

Начинает последовательность действий, содержащихся в предоставленной раскадровке.Begins the sequence of actions that are contained in the provided storyboard.

BeginStoryboard(Storyboard, HandoffBehavior)

Начинает последовательность действий, содержащихся в предоставленной раскадровке, с указанием действий, которые следует выполнить в случае уже анимированного свойства.Begins the sequence of actions that are contained in the provided storyboard, with options specified for what should occur if the property is already animated.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Начинает последовательность действий, содержащихся в предоставленной раскадровке, с указанным состоянием управления анимацией после ее запуска.Begins the sequence of actions that are contained in the provided storyboard, with specified state for control of the animation after it is started.

BeginStoryboard(Storyboard)

Начинает последовательность действий, содержащихся в предоставленной раскадровке.Begins the sequence of actions that are contained in the provided 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

Параметры

storyboard
Storyboard

Раскадровка, которая будет начата.The storyboard to begin.

Комментарии

Для сигнатур, которые не используют isControllable, параметр или если этот параметр указан false, часы временной шкалы, связанные с анимацией, удаляются сразу же после достижения периода заполнения.For the signatures that do not use the isControllable, parameter, or when that parameter is specified false, the timeline clocks associated with the animation are removed as soon as it reaches the "Fill" period. Поэтому анимация не может быть перезапущена после однократного запуска.Therefore the animation cannot be restarted after being run once. Обратите внимание, что для управления анимацией также требуется, чтобы Раскадровка была названа или доступна как экземпляр в коде.Note that controlling an animation also requires that the storyboard be named or accessible as an instance in code.

BeginStoryboard(Storyboard, HandoffBehavior)

Начинает последовательность действий, содержащихся в предоставленной раскадровке, с указанием действий, которые следует выполнить в случае уже анимированного свойства.Begins the sequence of actions that are contained in the provided storyboard, with options specified for what should occur if the property is already animated.

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

Параметры

storyboard
Storyboard

Раскадровка, которая будет начата.The storyboard to begin.

handoffBehavior
HandoffBehavior

Значение перечисления, описывающего поведение в случае, если описанное в раскадровке свойство уже анимировано.A value of the enumeration that describes behavior to use if a property described in the storyboard is already animated.

Комментарии

Для сигнатур, которые не используют isControllable, параметр или если этот параметр указан false, часы временной шкалы, связанные с анимацией, удаляются сразу же после достижения периода заполнения.For the signatures that do not use the isControllable, parameter, or when that parameter is specified false, the timeline clocks associated with the animation are removed as soon as it reaches the "Fill" period. Поэтому анимация не может быть перезапущена после однократного запуска.Therefore the animation cannot be restarted after being run once. Обратите внимание, что для управления анимацией также требуется, чтобы Раскадровка была названа или доступна как экземпляр в коде.Note that controlling an animation also requires that the storyboard be named or accessible as an instance in code.

Использование создания HandoffBehaviorUsing the Compose HandoffBehavior

При применении Storyboard, AnimationTimelineили AnimationClock к свойству с помощью Compose HandoffBehaviorлюбые Clock объекты, ранее связанные с этим свойством, продолжают потреблять системные ресурсы. система времени не удаляет часы автоматически.When you apply a Storyboard, AnimationTimeline, or AnimationClock to a property by using the Compose HandoffBehavior, any Clock objects previously associated with that property continue to consume system resources; the timing system does not remove the clocks automatically.

Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить составные часы из анимированного свойства после их завершения.To avoid performance issues when you apply a large number of clocks by using Compose, you should remove composing clocks from the animated property after they complete. Существует несколько способов удаления часов.There are several ways to remove a clock:

  • Чтобы удалить все часы из свойства, используйте метод ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта.To remove all clocks from a property, use the ApplyAnimationClock(DependencyProperty, AnimationClock) or BeginAnimation(DependencyProperty, AnimationTimeline) method of the animated object. Укажите свойство, анимированное в качестве первого параметра, и null в качестве второго.Specify the property being animated as the first parameter, and null as the second. Это приведет к удалению всех часов анимации из свойства.This removes all animation clocks from the property.

  • Чтобы удалить определенное AnimationClock из списка часов, используйте свойство Controller AnimationClock для получения ClockController, а затем вызовите метод Remove из ClockController.To remove a specific AnimationClock from a list of clocks, use the Controller property of the AnimationClock to retrieve a ClockController, then call the Remove method of the ClockController. Обычно это делается в обработчике событий Completed для часов.This is typically done in the Completed event handler for a clock. Обратите внимание, что ClockController может управлять только корневыми часами. Свойство Controller дочернего объекта Clock возвращает null.Note that only root clocks can be controlled by a ClockController; the Controller property of a child clock returns null. Обратите внимание, что событие Completed не возникает, если фактическая длительность часов бесконечно.Note also that the Completed event is not raised if the effective duration of the clock is forever. В этом случае пользователь должен определить, когда следует вызывать Remove.In that case, the user must determine when to call Remove.

В основном это проблема для анимации объектов, имеющих длинное время жизни.This is primarily an issue for animations on objects that have a long lifetime. Если объект уничтожается сборщиком мусора, его часы также отключаются и уничтожаются мусором.When an object is garbage collected, its clocks are also disconnected and garbage collected.

Дополнительные сведения об объектах часов см. в разделе Общие сведения о анимации и системе управления временем.For more information about clock objects, see Animation and Timing System Overview.

BeginStoryboard(Storyboard, HandoffBehavior, Boolean)

Начинает последовательность действий, содержащихся в предоставленной раскадровке, с указанным состоянием управления анимацией после ее запуска.Begins the sequence of actions that are contained in the provided storyboard, with specified state for control of the animation after it is started.

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

Параметры

storyboard
Storyboard

Раскадровка, которая будет начата.The storyboard to begin.

handoffBehavior
HandoffBehavior

Значение перечисления, описывающего поведение в случае, если описанное в раскадровке свойство уже анимировано.A value of the enumeration that describes behavior to use if a property described in the storyboard is already animated.

isControllable
Boolean

Объявляет, является ли анимация управляемой после запуска (можно ли ее приостановить).Declares whether the animation is controllable (can be paused) after it is started.

Комментарии

Для сигнатур, которые не используют isControllable, параметр или если этот параметр указан false, часы временной шкалы, связанные с анимацией, удаляются сразу же после достижения периода заполнения.For the signatures that do not use the isControllable, parameter, or when that parameter is specified false, the timeline clocks associated with the animation are removed as soon as it reaches the "Fill" period. Поэтому анимация не может быть перезапущена после однократного запуска.Therefore the animation cannot be restarted after being run once. Обратите внимание, что для управления анимацией также требуется, чтобы Раскадровка была названа или доступна как экземпляр в коде.Note that controlling an animation also requires that the storyboard be named or accessible as an instance in code.

Использование создания HandoffBehaviorUsing the Compose HandoffBehavior

При применении Storyboard, AnimationTimelineили AnimationClock к свойству с помощью Compose HandoffBehaviorлюбые Clock объекты, ранее связанные с этим свойством, продолжают потреблять системные ресурсы. система времени не удаляет эти часы автоматически.When you apply a Storyboard, AnimationTimeline, or AnimationClock to a property by using the Compose HandoffBehavior, any Clock objects previously associated with that property continue to consume system resources; the timing system does not remove these clocks automatically.

Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить составные часы из анимированного свойства после их завершения.To avoid performance issues when you apply a large number of clocks by using Compose, you should remove composing clocks from the animated property after they complete. Существует несколько способов удаления часов.There are several ways to remove a clock:

  • Чтобы удалить все часы из свойства, используйте метод ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта.To remove all clocks from a property, use the ApplyAnimationClock(DependencyProperty, AnimationClock) or BeginAnimation(DependencyProperty, AnimationTimeline) method of the animated object. Укажите свойство, анимированное в качестве первого параметра, и null в качестве второго.Specify the property being animated as the first parameter, and null as the second. Это приведет к удалению всех часов анимации из свойства.This removes all animation clocks from the property.

  • Чтобы удалить определенное AnimationClock из списка часов, используйте свойство Controller AnimationClock для получения ClockController, а затем вызовите метод Remove из ClockController.To remove a specific AnimationClock from a list of clocks, use the Controller property of the AnimationClock to retrieve a ClockController, then call the Remove method of the ClockController. Обычно это делается в обработчике событий Completed для часов.This is typically done in the Completed event handler for a clock. Обратите внимание, что ClockController может управлять только корневыми часами. Свойство Controller дочернего объекта Clock возвращает null.Note that only root clocks can be controlled by a ClockController; the Controller property of a child clock returns null. Обратите внимание, что событие Completed не возникает, если фактическая длительность часов бесконечно.Note also that the Completed event is not raised if the effective duration of the clock is forever. В этом случае пользователь должен определить, когда следует вызывать Remove.In that case, the user must determine when to call Remove.

В основном это проблема для анимации объектов, имеющих длинное время жизни.This is primarily an issue for animations on objects that have a long lifetime. Если объект уничтожается сборщиком мусора, его часы также отключаются и уничтожаются мусором.When an object is garbage collected, its clocks are also disconnected and garbage collected.

Дополнительные сведения об объектах часов см. в разделе Общие сведения о анимации и системе управления временем.For more information about clock objects, see Animation and Timing System Overview.

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