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.
Beginnt die Abfolge von Aktionen, die im bereitgestellten Storyboard enthalten sind.
Überlädt
BeginStoryboard(Storyboard) |
Beginnt die Abfolge von Aktionen, die im bereitgestellten Storyboard enthalten sind. |
BeginStoryboard(Storyboard, HandoffBehavior) |
Beginnt die Abfolge von Aktionen, die im bereitgestellten Storyboard enthalten sind, mit Optionen, die angegeben sind, was passieren soll, wenn die Eigenschaft bereits animiert ist. |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Beginnt die Abfolge von Aktionen, die im bereitgestellten Storyboard enthalten sind, mit dem angegebenen Zustand für die Steuerung der Animation, nachdem sie gestartet wurde. |
BeginStoryboard(Storyboard)
Beginnt die Abfolge von Aktionen, die im bereitgestellten Storyboard enthalten sind.
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 Storyboard, das beginnen soll.
Beispiele
Im folgenden Beispiel wird eine Storyboard aus Ressourcen abgerufen und anschließend ausgeführt, die Storyboard, wenn ein internes Ereignis klassenhandhabt 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 die Animation durch das Ereignis ausgelöst wird, wird die Animation ausgeführt. Die meisten Steuerelementaspekte eines Storyboard können durch Eigenschaften behoben werden, die im Markup verfügbar gemacht werden.
Bei signaturen, die nicht den isControllable
, Parameter oder wenn dieser Parameter false
angegeben wird, werden die Zeitachsenuhren, die der Animation zugeordnet sind, entfernt, sobald die Animation den "Füllzeitraum" erreicht. Daher kann die Animation nach der Ausführung nicht einmal neu gestartet werden. Die Steuerung einer Animation erfordert außerdem, dass das Storyboard über eine x:Name-Direktive verfügt oder über einen Verweis im Code darauf zugreifen kann.
Gilt für:
BeginStoryboard(Storyboard, HandoffBehavior)
Beginnt die Abfolge von Aktionen, die im bereitgestellten Storyboard enthalten sind, mit Optionen, die angegeben sind, was passieren 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 Storyboard, das beginnen soll.
- handoffBehavior
- HandoffBehavior
Ein Wert der Aufzählung, die das Verhalten beschreibt, das verwendet werden soll, wenn eine im Storyboard beschriebene Eigenschaft bereits animiert ist.
Beispiele
Im folgenden Beispiel wird eine Storyboard aus Ressourcen abgerufen und anschließend ausgeführt, die Storyboard, wenn ein internes Ereignis klassenhandhabt 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 die Animation durch das Ereignis ausgelöst wird, wird die Animation ausgeführt. Die meisten Steuerelementaspekte eines Storyboard können durch Eigenschaften behoben werden, die im Markup verfügbar gemacht werden.
Bei signaturen, die nicht den isControllable
, Parameter oder wenn dieser Parameter false
angegeben wird, werden die Zeitachsenuhren, die der Animation zugeordnet sind, entfernt, sobald die Animation den "Füllzeitraum" erreicht. Daher kann die Animation nach der Ausführung nicht einmal neu gestartet werden. Die Steuerung einer Animation erfordert außerdem, dass das Storyboard über eine x:Name-Direktive verfügt oder über einen Verweis im Code darauf zugreifen kann.
Das Handoffverhalten kann als Attribut von BeginStoryboardangegeben werden.
Verwenden des VerfassenhandoffBehavior
Wenn Sie eine Storyboard, AnimationTimelineoder AnimationClock auf eine Eigenschaft anwenden, indem Sie die ComposeHandoffBehaviorverwenden, verwenden alle zuvor dieser Eigenschaft zugeordneten Clock Objekte weiterhin Systemressourcen; Das Timing-System entfernt die Uhren nicht automatisch.
Um Leistungsprobleme zu vermeiden, wenn Sie eine große Anzahl von Uhren mithilfe von Composeanwenden, sollten Sie das Verfassen von Uhren aus der animierten Eigenschaft entfernen, nachdem sie abgeschlossen wurden. Es gibt mehrere Möglichkeiten zum Entfernen einer Uhr:
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 Eigenschaft an, die als erster Parameter animiert wird, und
null
als zweite. Dadurch werden alle Animationsuhren aus der Eigenschaft entfernt.Um eine bestimmte AnimationClock aus einer Liste von Uhren zu entfernen, verwenden Sie die Controller-Eigenschaft des AnimationClock, um eine ClockControllerabzurufen, und rufen Sie dann die Remove Methode der ClockControllerauf. Dies erfolgt in der Regel im Completed Ereignishandler für eine Uhr. Beachten Sie, dass nur Stammuhren durch eine ClockControllergesteuert werden können; die Controller Eigenschaft einer untergeordneten Uhr gibt
null
zurück. 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 Removeaufgerufen werden soll.
Dies ist in erster Linie ein Problem bei Animationen für Objekte, die eine lange Lebensdauer aufweisen. Wenn ein Objekt garbage collection wird, werden die Uhren ebenfalls getrennt und garbage collection.
Weitere Informationen zu Uhrobjekten finden Sie unter Animation and Timing System Overview.
Gilt für:
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Beginnt die Abfolge von Aktionen, die im bereitgestellten Storyboard enthalten sind, mit dem angegebenen Zustand für die Steuerung der Animation, nachdem sie gestartet wurde.
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 Storyboard, das beginnen soll.
- handoffBehavior
- HandoffBehavior
Ein Wert der Aufzählung, die das Verhalten beschreibt, das verwendet werden soll, wenn eine im Storyboard beschriebene Eigenschaft bereits animiert ist.
- isControllable
- Boolean
Deklariert, ob die Animation gesteuert werden kann (kann angehalten werden), 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 die Animation durch das Ereignis ausgelöst wird, wird die Animation ausgeführt. Die meisten Steuerelementaspekte eines Storyboard können durch Eigenschaften behoben werden, die im Markup verfügbar gemacht werden.
Bei signaturen, die nicht den isControllable
, Parameter oder wenn dieser Parameter false
angegeben wird, werden die Zeitachsenuhren, die der Animation zugeordnet sind, entfernt, sobald die Animation den "Füllzeitraum" erreicht. Daher kann die Animation nach der Ausführung nicht einmal neu gestartet werden. Die Steuerung einer Animation erfordert außerdem, dass das Storyboard über eine x:Name-Direktive verfügt oder über einen Verweis im Code darauf zugreifen kann.
Das Handoffverhalten kann als Attribut von BeginStoryboardangegeben werden.
Verwenden des VerfassenhandoffBehavior
Wenn Sie eine Storyboard, AnimationTimelineoder AnimationClock auf eine Eigenschaft anwenden, indem Sie die ComposeHandoffBehaviorverwenden, verwenden alle zuvor dieser Eigenschaft zugeordneten Clock Objekte weiterhin Systemressourcen; Das Timing-System entfernt die Uhren nicht automatisch.
Um Leistungsprobleme zu vermeiden, wenn Sie eine große Anzahl von Uhren mithilfe von Composeanwenden, sollten Sie das Verfassen von Uhren aus der animierten Eigenschaft entfernen, nachdem sie abgeschlossen wurden. Es gibt mehrere Möglichkeiten zum Entfernen einer Uhr:
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 Eigenschaft an, die als erster Parameter animiert wird, und
null
als zweite. Dadurch werden alle Animationsuhren aus der Eigenschaft entfernt.Um eine bestimmte AnimationClock aus einer Liste von Uhren zu entfernen, verwenden Sie die Controller-Eigenschaft des AnimationClock, um eine ClockControllerabzurufen, und rufen Sie dann die Remove Methode der ClockControllerauf. Dies erfolgt in der Regel im Completed Ereignishandler für eine Uhr. Beachten Sie, dass nur Stammuhren durch eine ClockControllergesteuert werden können; die Controller Eigenschaft einer untergeordneten Uhr gibt
null
zurück. 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 Removeaufgerufen werden soll.
Dies ist in erster Linie ein Problem bei Animationen für Objekte, die eine lange Lebensdauer aufweisen. Wenn ein Objekt garbage collection wird, werden die Uhren ebenfalls getrennt und garbage collection.
Weitere Informationen zu Uhrobjekten finden Sie unter Animation and Timing System Overview.