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


FrameworkElement.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

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

Примеры

В следующем примере извлекается Storyboard из ресурсов, а затем выполняется, что Storyboard при обработке внутреннего события.

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

Комментарии

Большинство типичных сценариев анимации не используют этот метод. Как правило, вы создаете Storyboard элемент или BeginStoryboard элемент в разметке, а затем помещаете их в качестве EventTrigger содержимого в элемент. При активации события анимация запускается. Большинство аспектов Storyboard элемента управления можно устранить с помощью свойств, предоставляемых в разметке.

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

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

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

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

Примеры

В следующем примере извлекается Storyboard из ресурсов, а затем выполняется, что Storyboard при обработке внутреннего события.

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

Комментарии

Большинство типичных сценариев анимации не используют этот метод. Как правило, вы создаете Storyboard элемент или BeginStoryboard элемент в разметке, а затем помещаете их в качестве EventTrigger содержимого в элемент. При активации события анимация запускается. Большинство аспектов Storyboard элемента управления можно устранить с помощью свойств, предоставляемых в разметке.

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

Поведение передачи можно указать в качестве атрибута BeginStoryboard.

Использование 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

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

Комментарии

Большинство типичных сценариев анимации не используют этот метод. Как правило, вы создаете Storyboard элемент или BeginStoryboard элемент в разметке, а затем помещаете их в качестве EventTrigger содержимого в элемент. При активации события анимация запускается. Большинство аспектов Storyboard элемента управления можно устранить с помощью свойств, предоставляемых в разметке.

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

Поведение передачи можно указать в качестве атрибута BeginStoryboard.

Использование 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.

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

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

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