HandoffBehavior Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa sposób interakcji nowych animacji z istniejącymi, które są już stosowane do właściwości.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Dziedziczenie
Pola
Compose | 1 | Nowe animacje są łączone z istniejącymi animacjami, dołączając nowe animacje na końcu łańcucha kompozycji. |
SnapshotAndReplace | 0 | Nowe animacje zastępują wszystkie istniejące animacje we właściwościach, do których są stosowane. |
Uwagi
W przypadku zastosowania Storyboardwłaściwości , AnimationTimelinelub AnimationClock do właściwości przy użyciu polecenia Compose wszystkie Clock obiekty wcześniej skojarzone z tą właściwością nadal zużywają zasoby systemowe; system chronometrażu nie usunie zegarów automatycznie.
Aby uniknąć problemów z wydajnością podczas stosowania dużej liczby zegarów przy użyciu polecenia Compose, należy usunąć tworzenie zegarów z właściwości animowanej po zakończeniu. Istnieje kilka sposobów usunięcia zegara:
Aby usunąć wszystkie zegary z właściwości, użyj ApplyAnimationClock(DependencyProperty, AnimationClock) metody lub BeginAnimation(DependencyProperty, AnimationTimeline) animowanego obiektu. Określ właściwość, która jest animowana jako pierwszy parametr, i
null
jako drugą. Spowoduje to usunięcie wszystkich zegarów animacji z właściwości.Aby usunąć określony AnimationClock element z listy zegarów, użyj Controller właściwości AnimationClock , aby pobrać element , a następnie wywołaj Remove metodę ClockControllerClockController. Zazwyczaj odbywa się to w procedurze Completed obsługi zdarzeń dla zegara. Należy pamiętać, że tylko zegary główne mogą być kontrolowane przez obiekt ClockController; Controller właściwość zegara podrzędnego zwraca
null
wartość . Należy również pamiętać, że Completed zdarzenie nie zostanie podniesione, jeśli obowiązujący czas trwania zegara jest na zawsze. W takim przypadku użytkownik musi określić, kiedy wywołać metodę Remove.
Jest to przede wszystkim problem dotyczący animacji na obiektach, które mają długi okres istnienia. Gdy obiekt jest zbierany, jego zegary również zostaną odłączone i zbierze śmieci.
Aby uzyskać więcej informacji na temat obiektów zegara, zobacz Animacja i System chronometrażu — omówienie.