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 AnimationClock na zadaný DependencyProperty. Pokud je vlastnost již animované, použije se SnapshotAndReplace chování předání. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Použije AnimationClock na zadaný DependencyProperty. Pokud je vlastnost již animovaná, použije se zadaný HandoffBehavior. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Použije AnimationClock na zadaný DependencyProperty. 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 je clock
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 AnimationClock na zadaný DependencyProperty. 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 je handoffBehavior
SnapshotAndReplace a clock
je null
, odeberou se všechny animace ze zadané vlastnosti (ale nezastaví). Pokud je handoffBehavior
Compose a hodiny jsou null
, 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 nastavení HandoffBehavior.
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
Při použití Storyboard, AnimationTimelinenebo AnimationClock na vlastnost pomocí ComposeHandoffBehavior, všechny objekty Clock dříve přidružené k této vlastnosti 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 komponované 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á se animuje jako první parametr, a
null
jako druhý. Tím se z vlastnosti odeberou všechny hodiny animace.Chcete-li odebrat konkrétní AnimationClock ze seznamu hodin, použijte vlastnost ControllerAnimationClock k načtení ClockControllera volání Remove metody ClockController. To se obvykle provádí v obslužné rutině události Completed hodiny. Všimněte si, že ClockControllerlze ovládat pouze kořenové hodiny; vlastnost Controller 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 animace a časování systému přehled.