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 clockSnapshotAndReplace je null, všechny animace budou odebrány ze zadané vlastnosti (ale nezastavěné). Pokud handoffBehavior je a hodiny jsou nullCompose , 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 Storyboardvlastnost nebo AnimationTimelineAnimationClock vlastnost pomocí ComposeHandoffBehavior, všechny Clock objekty dříve přidružené k této vlastnosti budou nadále využívat systémové prostředky; systém časování tyto hodiny automaticky neodebere.
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 psaní hodin 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 hodiny animace.Chcete-li odebrat konkrétní AnimationClock ze seznamu hodin, použijte Controller vlastnost AnimationClock načíst ClockControllera potom volání Remove metody ClockController. To se obvykle provádí v Completed obslužné rutině události pro hodiny. Všimněte si, že pouze kořenové hodiny mohou být řízeny ClockControllerpomocí ; Controller vlastnost podřízených hodin vrátí
null. Všimněte si také, že Completed událost nebude volána, pokud je efektivní doba trvání hodin navždy. 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 uvolněn z paměti, jeho hodiny budou také odpojeny a uvolňování paměti.
Další informace o objektech hodin naleznete v přehledu systému animace a časování.