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í
| Name | Description |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Použije pro AnimationClock zadaný DependencyPropertyparametr . Pokud je vlastnost již animované, použije se SnapshotAndReplace chování předání. |
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Použije pro AnimationClock zadaný DependencyPropertyparametr . Pokud je vlastnost již animovaná, použije se zadané HandoffBehavior . |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Použije pro AnimationClock zadaný DependencyPropertyparametr . Pokud je vlastnost již animované, použije se SnapshotAndReplace 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, se kterými chcete animovat zadanou vlastnost. Pokud clock ano null, odeberou se všechny animace ze zadané vlastnosti (ale nezastaví).
Implementuje
Poznámky
Všimněte si, že použití této metody k odebrání hodin z vlastnosti nezastaví tyto hodiny.
Platí pro
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Použije pro AnimationClock zadaný DependencyPropertyparametr . Pokud je vlastnost již animovaná, použije se zadané HandoffBehavior .
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, se kterými chcete animovat zadanou vlastnost. Pokud handoffBehavior je a SnapshotAndReplaceclock je null, všechny animace budou odebrány ze zadané vlastnosti (ale nezastavěné). Pokud handoffBehavior je a hodiny jsou Composenull , tato metoda nemá žádný vliv.
- handoffBehavior
- HandoffBehavior
Hodnota, která určuje, jak má nová animace interagovat s všemi aktuálními animacemi, které již ovlivňují hodnotu vlastnosti.
Implementuje
Příklady
Následující příklad ukazuje, jak použít animační hodiny pomocí různých HandoffBehavior nastavení.
Poznámky
Všimněte si, že použití této metody k odebrání hodin z vlastnosti nezastaví tyto hodiny.
Použití nástroje Compose HandoffBehavior
Pokud použijete Storyboard, AnimationTimeline nebo AnimationClock na vlastnost pomocí ComposeHandoffBehavior, všechny Clock objekty, které byly dříve přidruženy k této vlastnosti, budou nadále spotřebovávat systémové prostředky; systém časování tyto časovače automaticky neodstraní.
Abyste se vyhnuli problémům s výkonem při použití velkého počtu hodin pomocí Compose, měli byste po dokončení odebrat sestavovací hodiny z animované vlastnosti. Hodiny můžete odebrat několika způsoby.
Chcete-li odebrat všechny hodiny z vlastnosti, použijte ApplyAnimationClock(DependencyProperty, AnimationClock) nebo BeginAnimation(DependencyProperty, AnimationTimeline) metodu animovaného objektu. Zadejte vlastnost, která je animované jako první parametr, a
nulljako druhý. Tím se z vlastnosti odeberou všechny časovače animací.Chcete-li odebrat konkrétní AnimationClock ze seznamu hodin, použijte vlastnost ControllerAnimationClock k načtení ClockController a poté zavolejte metodu RemoveClockController. To se obvykle provádí v Completed obslužné rutině události pro časový údaj. Všimněte si, že pouze kořenové hodiny mohou být kontrolovány ClockController; vlastnost Controller podřízených hodin vrátí
null. Všimněte si také, že událost Completed nebude aktivována, pokud je efektivní doba trvání časovače nekonečná. V takovém případě bude uživatel muset určit, kdy volat Remove.
Jedná se především o problém s animacemi na objektech, které mají dlouhou životnost. Když je objekt sesbírán z paměti, jeho časovače budou také odpojeny a sesbírány z paměti.
Další informace o objektech hodin naleznete v přehledu systému animace a časování.