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
При применении к свойству , или с помощьюHandoffBehaviorCompose все объекты, ранее связанные с этим свойством, Clock продолжают потреблять системные ресурсы; система синхронизации не удаляет часы автоматически.AnimationClockAnimationTimelineStoryboard
Чтобы избежать проблем с производительностью при применении большого количества часов с помощью Compose, следует удалить часы создания из анимированного свойства после их завершения. Удалить часы можно несколькими способами:
Чтобы удалить все часы из свойства, используйте метод ApplyAnimationClock(DependencyProperty, AnimationClock) или BeginAnimation(DependencyProperty, AnimationTimeline) анимированного объекта. Укажите в качестве первого параметра анимируемое свойство, а в качестве второго параметра —
null
. При этом все часы анимации удаляются из свойства .Чтобы удалить определенный AnimationClock из списка часов, используйте свойствоController объекта AnimationClock для извлечения ClockController, а затем вызовите метод Remove объекта ClockController. Обычно это делается в обработчике событий 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 из списка часов, используйте свойствоController объекта AnimationClock для извлечения ClockController, а затем вызовите метод Remove объекта ClockController. Обычно это делается в обработчике событий Completed для часов. Обратите внимание, что только корневые часы могут управляться с помощью ClockController; Controller свойство дочерних часов возвращает
null
. Обратите также внимание, что Completed событие не возникает, если действивная продолжительность часов навсегда. В этом случае пользователь должен определить, когда следует вызывать Remove.
В основном это проблема для анимации объектов, имеющих длинное время жизни. Когда объект собирает мусор, его часы также отключаются и собирают мусор.
Дополнительные сведения об объектах часов см. в разделе Общие сведения об анимации и системе управления временем.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по