FrameworkElement.BeginStoryboard Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Startet die Sequenz von Aktionen, die im bereitgestellten Storyboard enthalten ist.
Überlädt
BeginStoryboard(Storyboard) |
Startet die Sequenz von Aktionen, die im bereitgestellten Storyboard enthalten ist. |
BeginStoryboard(Storyboard, HandoffBehavior) |
Startet die Sequenz von Aktionen, die im bereitgestellten Storyboard enthalten ist. Dabei sind Optionen angegeben, welche Aktion ausgeführt werden soll, wenn die Eigenschaft bereits animiert ist. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Startet die Sequenz von Aktionen, die im bereitgestellten Storyboard enthalten ist, im angegebenen Zustand für das Steuerelement der Animation nach deren Start. |
BeginStoryboard(Storyboard)
Startet die Sequenz von Aktionen, die im bereitgestellten Storyboard enthalten ist.
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)
Parameter
- storyboard
- Storyboard
Das zu startende Storyboard.
Beispiele
Im folgenden Beispiel wird ein Storyboard aus Ressourcen abgerufen und dann ausgeführt, Storyboard wenn ein internes Ereignis von der Klasse behandelt wird.
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
Hinweise
Die meisten typischen Animationsszenarien verwenden diese Methode nicht. In der Regel erstellen Sie das Storyboard - oder BeginStoryboard -Element im Markup und platzieren diese dann als EventTrigger Inhalt in einem -Element. Wenn sie durch das -Ereignis ausgelöst wird, wird die Animation dann ausgeführt. Die meisten Steuerelementaspekte eines Storyboard können durch Eigenschaften behandelt werden, die im Markup verfügbar gemacht werden.
Für die Signaturen, die nicht den isControllable
- oder -Parameter verwenden, wenn dieser Parameter angegeben false
ist , werden die Zeitleiste Uhren entfernt, die der Animation zugeordnet sind, sobald die Animation den "Fill"-Zeitraum erreicht. Daher kann die Animation nicht neu gestartet werden, nachdem sie einmal ausgeführt wurde. Das Steuern einer Animation erfordert auch, dass das Storyboard über eine x:Name-Direktive verfügt oder über einen Verweis im Code zugänglich ist.
Gilt für:
BeginStoryboard(Storyboard, HandoffBehavior)
Startet die Sequenz von Aktionen, die im bereitgestellten Storyboard enthalten ist. Dabei sind Optionen angegeben, welche Aktion ausgeführt werden soll, wenn die Eigenschaft bereits animiert ist.
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)
Parameter
- storyboard
- Storyboard
Das zu startende Storyboard.
- handoffBehavior
- HandoffBehavior
Ein Wert der Enumeration zum Beschreiben der auszuführenden Aktion, wenn eine im Storyboard beschriebene Eigenschaft bereits animiert ist.
Beispiele
Im folgenden Beispiel wird ein Storyboard aus Ressourcen abgerufen und dann ausgeführt, Storyboard wenn ein internes Ereignis von der Klasse behandelt wird.
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
Hinweise
Die meisten typischen Animationsszenarien verwenden diese Methode nicht. In der Regel erstellen Sie das Storyboard - oder BeginStoryboard -Element im Markup und platzieren diese dann als EventTrigger Inhalt in einem -Element. Wenn sie durch das -Ereignis ausgelöst wird, wird die Animation dann ausgeführt. Die meisten Steuerelementaspekte eines Storyboard können durch Eigenschaften behandelt werden, die im Markup verfügbar gemacht werden.
Für die Signaturen, die nicht den isControllable
- oder -Parameter verwenden, wenn dieser Parameter angegeben false
ist , werden die Zeitleiste Uhren entfernt, die der Animation zugeordnet sind, sobald die Animation den "Fill"-Zeitraum erreicht. Daher kann die Animation nicht neu gestartet werden, nachdem sie einmal ausgeführt wurde. Das Steuern einer Animation erfordert auch, dass das Storyboard über eine x:Name-Direktive verfügt oder über einen Verweis im Code zugänglich ist.
Das Übergabeverhalten kann als Attribut von BeginStoryboardangegeben werden.
Verwenden von Compose HandoffBehavior
Wenn Sie eine Storyboard- , AnimationTimeline- oder AnimationClock -Eigenschaft mithilfe ComposeHandoffBehaviorvon anwenden, nutzen alle Clock zuvor dieser Eigenschaft zugeordneten Objekte weiterhin Systemressourcen. Das Zeitsteuerungssystem entfernt die Uhren nicht automatisch.
Um Leistungsprobleme beim Anwenden einer großen Anzahl von Uhren mithilfe Composevon zu vermeiden, sollten Sie die Zusammenstellung von Uhren nach Abschluss aus der animierten Eigenschaft entfernen. Es gibt mehrere Möglichkeiten, eine Uhr zu entfernen:
Um alle Uhren aus einer Eigenschaft zu entfernen, verwenden Sie die ApplyAnimationClock(DependencyProperty, AnimationClock)- oder BeginAnimation(DependencyProperty, AnimationTimeline)-Methode des animierten Objekts. Geben Sie die zu animierende Eigenschaft als ersten Parameter und
null
als zweiten an. Dadurch werden alle Animationsuhren aus der -Eigenschaft entfernt.Um eine bestimmte AnimationClock-Liste von Uhren zu entfernen, verwenden Sie die Eigenschaft Controller von AnimationClock um eine ClockController abzurufen, und rufen Sie dann die Remove-Methode der ClockController auf. Dies geschieht in der Regel im Completed-Ereignishandler für eine Uhr. Beachten Sie, dass nur Stammuhren von ClockControllergesteuert werden können. Die Controller -Eigenschaft einer untergeordneten Uhr gibt zurück
null
. Beachten Sie auch, dass das Completed Ereignis nicht ausgelöst wird, wenn die effektive Dauer der Uhr für immer ist. In diesem Fall muss der Benutzer bestimmen, wann aufgerufen Removewerden soll.
Dies betrifft hauptsächlich Animationen für Objekte, die eine lange Lebensdauer haben. Wenn ein Objekt mit Garbage Collection erfasst wird, werden auch seine Uhren getrennt und Garbage Collection gesammelt.
Weitere Informationen zu Uhr-Objekten finden Sie unter Übersicht über das Animations- und Zeitsteuerungssystem.
Gilt für:
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Startet die Sequenz von Aktionen, die im bereitgestellten Storyboard enthalten ist, im angegebenen Zustand für das Steuerelement der Animation nach deren Start.
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)
Parameter
- storyboard
- Storyboard
Das zu startende Storyboard.
- handoffBehavior
- HandoffBehavior
Ein Wert der Enumeration zum Beschreiben der auszuführenden Aktion, wenn eine im Storyboard beschriebene Eigenschaft bereits animiert ist.
- isControllable
- Boolean
Bestimmt, ob die Animation steuerbar ist (angehalten werden kann), nachdem sie gestartet wurde.
Hinweise
Die meisten typischen Animationsszenarien verwenden diese Methode nicht. In der Regel erstellen Sie das Storyboard - oder BeginStoryboard -Element im Markup und platzieren diese dann als EventTrigger Inhalt in einem -Element. Wenn sie durch das -Ereignis ausgelöst wird, wird die Animation dann ausgeführt. Die meisten Steuerelementaspekte eines Storyboard können durch Eigenschaften behandelt werden, die im Markup verfügbar gemacht werden.
Für die Signaturen, die nicht den isControllable
- oder -Parameter verwenden, wenn dieser Parameter angegeben false
ist , werden die Zeitleiste Uhren entfernt, die der Animation zugeordnet sind, sobald die Animation den "Fill"-Zeitraum erreicht. Daher kann die Animation nicht neu gestartet werden, nachdem sie einmal ausgeführt wurde. Das Steuern einer Animation erfordert auch, dass das Storyboard über eine x:Name-Direktive verfügt oder über einen Verweis im Code zugänglich ist.
Das Übergabeverhalten kann als Attribut von BeginStoryboardangegeben werden.
Verwenden von Compose HandoffBehavior
Wenn Sie eine Storyboard- , AnimationTimeline- oder AnimationClock -Eigenschaft mithilfe ComposeHandoffBehaviorvon anwenden, nutzen alle Clock zuvor dieser Eigenschaft zugeordneten Objekte weiterhin Systemressourcen. Das Zeitsteuerungssystem entfernt die Uhren nicht automatisch.
Um Leistungsprobleme beim Anwenden einer großen Anzahl von Uhren mithilfe Composevon zu vermeiden, sollten Sie die Zusammenstellung von Uhren nach Abschluss aus der animierten Eigenschaft entfernen. Es gibt mehrere Möglichkeiten, eine Uhr zu entfernen:
Um alle Uhren aus einer Eigenschaft zu entfernen, verwenden Sie die ApplyAnimationClock(DependencyProperty, AnimationClock)- oder BeginAnimation(DependencyProperty, AnimationTimeline)-Methode des animierten Objekts. Geben Sie die zu animierende Eigenschaft als ersten Parameter und
null
als zweiten an. Dadurch werden alle Animationsuhren aus der -Eigenschaft entfernt.Um eine bestimmte AnimationClock-Liste von Uhren zu entfernen, verwenden Sie die Eigenschaft Controller von AnimationClock um eine ClockController abzurufen, und rufen Sie dann die Remove-Methode der ClockController auf. Dies geschieht in der Regel im Completed-Ereignishandler für eine Uhr. Beachten Sie, dass nur Stammuhren von ClockControllergesteuert werden können. Die Controller -Eigenschaft einer untergeordneten Uhr gibt zurück
null
. Beachten Sie auch, dass das Completed Ereignis nicht ausgelöst wird, wenn die effektive Dauer der Uhr für immer ist. In diesem Fall muss der Benutzer bestimmen, wann aufgerufen Removewerden soll.
Dies betrifft hauptsächlich Animationen für Objekte, die eine lange Lebensdauer haben. Wenn ein Objekt mit Garbage Collection erfasst wird, werden auch seine Uhren getrennt und Garbage Collection gesammelt.
Weitere Informationen zu Uhr-Objekten finden Sie unter Übersicht über das Animations- und Zeitsteuerungssystem.
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für