Animatable.ApplyAnimationClock 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.
Animiert die angegebene DependencyProperty mithilfe der angegebenen AnimationClock.
Überlädt
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Wendet eine AnimationClock auf die angegebene DependencyPropertyan. Wenn die Eigenschaft bereits animiert ist, wird das SnapshotAndReplace Handoffverhalten verwendet. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Wendet eine AnimationClock auf die angegebene DependencyPropertyan. Wenn die Eigenschaft bereits animiert ist, wird die angegebene HandoffBehavior verwendet. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Wendet eine AnimationClock auf die angegebene DependencyPropertyan. Wenn die Eigenschaft bereits animiert ist, wird das SnapshotAndReplace Handoffverhalten verwendet.
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock)
Parameter
Die zu animierende Eigenschaft.
- clock
- AnimationClock
Die Uhr, mit der die angegebene Eigenschaft animiert werden soll. Wenn clock
null
ist, werden alle Animationen aus der angegebenen Eigenschaft entfernt (aber nicht angehalten).
Implementiert
Hinweise
Beachten Sie, dass die Verwendung dieser Methode zum Entfernen von Uhren aus einer Eigenschaft diese Uhren nicht stoppt.
Gilt für:
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Wendet eine AnimationClock auf die angegebene DependencyPropertyan. Wenn die Eigenschaft bereits animiert ist, wird die angegebene HandoffBehavior verwendet.
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void ApplyAnimationClock (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock, handoffBehavior As HandoffBehavior)
Parameter
Die zu animierende Eigenschaft.
- clock
- AnimationClock
Die Uhr, mit der die angegebene Eigenschaft animiert werden soll. Wenn handoffBehavior
SnapshotAndReplace ist und clock
null
ist, werden alle Animationen aus der angegebenen Eigenschaft entfernt (aber nicht beendet). Wenn handoffBehavior
Compose ist und die Uhr null
ist, hat diese Methode keine Auswirkung.
- handoffBehavior
- HandoffBehavior
Ein Wert, der angibt, wie die neue Animation mit allen aktuellen Animationen interagieren soll, die sich bereits auf den Eigenschaftswert auswirken.
Implementiert
Beispiele
Das folgende Beispiel zeigt, wie Sie Animationsuhren mit unterschiedlichen HandoffBehavior Einstellungen anwenden.
Hinweise
Beachten Sie, dass die Verwendung dieser Methode zum Entfernen von Uhren aus einer Eigenschaft diese Uhren nicht stoppt.
Verwenden des VerfassenhandoffBehavior
Wenn Sie eine Storyboard, AnimationTimelineoder AnimationClock auf eine Eigenschaft mit dem ComposeHandoffBehavioranwenden, verbrauchen alle zuvor dieser Eigenschaft zugeordneten Clock Objekte weiterhin Systemressourcen; Das Timing-System entfernt diese Uhren nicht automatisch.
Um Leistungsprobleme zu vermeiden, wenn Sie eine große Anzahl von Uhren mit Composeanwenden, sollten Sie das Verfassen von Uhren nach Abschluss 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 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 aufgerufen 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 Uhrenobjekten finden Sie unter Animation and Timing System Overview.