HandoffBehavior Enumeration
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.
Gibt an, wie neue Animationen mit vorhandenen interagieren, die bereits auf eine Eigenschaft angewendet sind.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Vererbung
Felder
Compose | 1 | Neue Animationen werden mit vorhandenen Animationen kombiniert, indem die neuen Animationen am Ende der Kompositionskette angefügt werden. |
SnapshotAndReplace | 0 | Neue Animationen ersetzen alle vorhandenen Animationen bei den Eigenschaften, auf die sie angewendet werden. |
Hinweise
Wenn Sie eine Storyboard- , AnimationTimeline- oder AnimationClock -Eigenschaft mithilfe von Compose anwenden, verbrauchen alle Clock Objekte, die zuvor dieser Eigenschaft zugeordnet waren, weiterhin Systemressourcen. Das Zeitsteuerungssystem entfernt die Uhren nicht automatisch.
Um Leistungsprobleme zu vermeiden, wenn Sie eine große Anzahl von Uhren mit Compose anwenden, sollten Sie das Komponieren von Uhren aus der animierten Eigenschaft entfernen, nachdem sie abgeschlossen sind. 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. Dies entfernt alle Animationsuhren aus der Eigenschaft.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 einem 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 festlegen, wann aufgerufen werden soll Remove.
Dies betrifft hauptsächlich Animationen für Objekte, die eine lange Lebensdauer haben. Wenn ein Objekt an den Garbage Collector übergeben wird, werden auch die Uhren getrennt und an den Garbage Collector übergeben.
Weitere Informationen zu Uhr-Objekten finden Sie unter Übersicht über das Animations- und Zeitsteuerungssystem.