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