Animatable.ApplyAnimationClock Metoda
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.
Animuje określony DependencyProperty element przy użyciu określonego AnimationClockelementu .
Przeciążenia
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, SnapshotAndReplace używane jest zachowanie przekazywania. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, zostanie użyta określona HandoffBehavior wartość . |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, SnapshotAndReplace używane jest zachowanie przekazywania.
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)
Parametry
Właściwość do animowania.
- clock
- AnimationClock
Zegar, z którym ma być animowany określona właściwość. Jeśli clock
parametr ma null
wartość , wszystkie animacje zostaną usunięte z określonej właściwości (ale nie zostaną zatrzymane).
Implementuje
Uwagi
Należy pamiętać, że usunięcie zegarów z właściwości przy użyciu tej metody nie powoduje zatrzymania tych zegarów.
Dotyczy
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, zostanie użyta określona HandoffBehavior wartość .
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)
Parametry
Właściwość do animowania.
- clock
- AnimationClock
Zegar, z którym ma być animowany określona właściwość. Jeśli handoffBehavior
parametr ma SnapshotAndReplace wartość i clock
ma null
wartość , wszystkie animacje zostaną usunięte z określonej właściwości (ale nie zostaną zatrzymane). Jeśli handoffBehavior
jest Compose i zegar ma null
wartość , ta metoda nie ma wpływu.
- handoffBehavior
- HandoffBehavior
Wartość określająca, w jaki sposób nowa animacja powinna współdziałać z wszelkimi bieżącymi animacjami, które już wpływają na wartość właściwości.
Implementuje
Przykłady
W poniższym przykładzie pokazano, jak zastosować zegary animacji przy użyciu różnych HandoffBehavior ustawień.
Uwagi
Należy pamiętać, że użycie tej metody do usunięcia zegarów z właściwości nie zatrzymuje tych zegarów.
Korzystanie z Compose HandoffBehavior
Po zastosowaniu Storyboardwłaściwości , AnimationTimelinelub AnimationClock do właściwości przy użyciu ComposeHandoffBehavior, wszystkie Clock obiekty wcześniej skojarzone z tą właściwością nadal zużywają zasoby systemowe; system chronometrażu nie usunie tych zegarów automatycznie.
Aby uniknąć problemów z wydajnością podczas stosowania dużej liczby zegarów przy użyciu , Composenależy usunąć tworzenie zegarów z animowanej właściwości 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ę ClockController.ClockController 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 ClockController; Controller właściwość zegara podrzędnego zwróci wartość
null
. Należy również pamiętać, że Completed zdarzenie nie będzie wywoływane, jeśli obowiązujący czas trwania zegara jest na zawsze. W takim przypadku użytkownik będzie musiał 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 zostanie odśmiecony, jego zegary również zostaną odłączone i odśmiecanie pamięci.
Aby uzyskać więcej informacji na temat obiektów zegara, zobacz Animation and Timing System Overview (Omówienie animacji i systemu chronometrażu).
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla