Animatable.ApplyAnimationClock Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Animace zadaného DependencyProperty pomocí zadaného AnimationClock.
Přetížení
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Použije na AnimationClock zadanou DependencyPropertyhodnotu . Pokud je vlastnost už animovaná, SnapshotAndReplace použije se chování předání. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Použije na AnimationClock zadanou DependencyPropertyhodnotu . Pokud je vlastnost už animovaná, použije se zadaná HandoffBehavior vlastnost. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Použije na AnimationClock zadanou DependencyPropertyhodnotu . Pokud je vlastnost už animovaná, SnapshotAndReplace použije se chování předání.
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
Vlastnost, která se má animovat.
- clock
- AnimationClock
Hodiny, pomocí kterých se má zadaná vlastnost animovat. Pokud clock
je null
, všechny animace se odeberou ze zadané vlastnosti (ale nezastaví se).
Implementuje
Poznámky
Všimněte si, že použití této metody k odebrání hodin z vlastnosti tyto hodiny nezastaví.
Platí pro
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Použije na AnimationClock zadanou DependencyPropertyhodnotu . Pokud je vlastnost už animovaná, použije se zadaná HandoffBehavior vlastnost.
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
Vlastnost, která se má animovat.
- clock
- AnimationClock
Hodiny, pomocí kterých se má zadaná vlastnost animovat. Pokud handoffBehavior
je SnapshotAndReplace a clock
je null
, všechny animace se ze zadané vlastnosti odeberou (ale nezastaví se). Pokud handoffBehavior
je Compose a hodiny jsou null
, tato metoda nemá žádný účinek.
- handoffBehavior
- HandoffBehavior
Hodnota, která určuje, jak má nová animace interagovat se všemi aktuálními animacemi, které již mají vliv na hodnotu vlastnosti.
Implementuje
Příklady
Následující příklad ukazuje, jak použít hodiny animace pomocí různých HandoffBehavior nastavení.
Poznámky
Všimněte si, že použití této metody k odebrání hodin z vlastnosti tyto hodiny nezastaví.
Použití HandoffBehavior psaní
Když použijete Storyboard, AnimationTimelinenebo AnimationClock na vlastnost pomocí ComposeHandoffBehavior, všechny Clock objekty dříve přidružené k této vlastnosti budou dál využívat systémové prostředky; časovací systém tyto hodiny automaticky neodebere.
Pokud se chcete vyhnout problémům s výkonem při použití velkého počtu hodin pomocí Composenástroje , měli byste hodiny psaní odebrat z animované vlastnosti po jejich dokončení. Existuje několik způsobů, jak odebrat hodiny.
Pokud chcete z vlastnosti odebrat všechny hodiny, použijte metodu ApplyAnimationClock(DependencyProperty, AnimationClock) nebo BeginAnimation(DependencyProperty, AnimationTimeline) animovaného objektu. Jako první parametr zadejte vlastnost, která se má animovat, a
null
jako druhý. Tím se z vlastnosti odeberou všechny hodiny animace.Pokud chcete konkrétní položku odebrat AnimationClock ze seznamu hodin, načtěte pomocí Controller vlastnosti AnimationClock objektu ClockControllera pak volejte metodu RemoveClockController. To se obvykle provádí v obslužné rutině Completed události pro hodiny. Všimněte si, že pouze kořenové hodiny lze ovládat pomocí ClockController. Controller Vlastnost podřízených hodin vrátí
null
hodnotu . Všimněte si také, že Completed událost nebude volána, pokud efektivní doba trvání hodin je navždy. V takovém případě bude muset uživatel určit, kdy má volat Remove.
Jedná se především o problém u animací u objektů s dlouhou životností. Když je objekt uvolněn z paměti, jeho hodiny budou také odpojeny a uvolněny z paměti.
Další informace o objektech hodin najdete v tématu Přehled systému animace a časování.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro