Animatable.ApplyAnimationClock Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge un'animazione all'oggetto specificato DependencyProperty utilizzando l'oggetto specificato AnimationClock.
Overload
| Nome | Descrizione |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Applica un oggetto AnimationClock all'oggetto specificato DependencyProperty. Se la proprietà è già animata, viene utilizzato il SnapshotAndReplace comportamento di handoff. |
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Applica un oggetto AnimationClock all'oggetto specificato DependencyProperty. Se la proprietà è già animata, viene utilizzato l'oggetto specificato HandoffBehavior . |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Applica un oggetto AnimationClock all'oggetto specificato DependencyProperty. Se la proprietà è già animata, viene utilizzato il SnapshotAndReplace comportamento di handoff.
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)
Parametri
Proprietà da animare.
- clock
- AnimationClock
Orologio con cui animare la proprietà specificata. Se clock è null, tutte le animazioni verranno rimosse dalla proprietà specificata (ma non arrestate).
Implementazioni
Commenti
Si noti che l'uso di questo metodo per rimuovere gli orologi da una proprietà non arresta tali orologi.
Si applica a
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Applica un oggetto AnimationClock all'oggetto specificato DependencyProperty. Se la proprietà è già animata, viene utilizzato l'oggetto specificato 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)
Parametri
Proprietà da animare.
- clock
- AnimationClock
Orologio con cui animare la proprietà specificata. Se handoffBehavior è e clock è nullSnapshotAndReplace , tutte le animazioni verranno rimosse dalla proprietà specificata (ma non arrestate). Se handoffBehavior è Compose e clock è null, questo metodo non ha alcun effetto.
- handoffBehavior
- HandoffBehavior
Valore che specifica il modo in cui la nuova animazione deve interagire con qualsiasi animazione corrente che influisce già sul valore della proprietà.
Implementazioni
Esempio
Nell'esempio seguente viene illustrato come applicare orologi di animazione usando impostazioni diverse HandoffBehavior .
Commenti
Si noti che l'uso di questo metodo per rimuovere gli orologi da una proprietà non arresta tali orologi.
Uso di Compose HandoffBehavior
Quando si applica una Storyboardproprietà , AnimationTimelineo AnimationClock a una proprietà utilizzando ComposeHandoffBehavior, tutti gli Clock oggetti associati in precedenza a tale proprietà continuano a utilizzare le risorse di sistema. Il sistema di temporizzazione non rimuoverà automaticamente questi orologi.
Per evitare problemi di prestazioni quando si applica un numero elevato di orologi usando Compose, è necessario rimuovere i clock di composizione dalla proprietà animata dopo il completamento. Esistono diversi modi per rimuovere un orologio.
Per rimuovere tutti gli orologi da una proprietà, utilizzare il ApplyAnimationClock(DependencyProperty, AnimationClock) metodo o BeginAnimation(DependencyProperty, AnimationTimeline) dell'oggetto animato. Specificare la proprietà animata come primo parametro e
nullcome seconda. In questo modo tutti gli orologi di animazione verranno rimossi dalla proprietà .Per rimuovere un oggetto specifico AnimationClock da un elenco di orologi, utilizzare la Controller proprietà di AnimationClock per recuperare un ClockControlleroggetto , quindi chiamare il Remove metodo dell'oggetto ClockController. Questa operazione viene in genere eseguita nel Completed gestore eventi per un orologio. Si noti che solo gli orologi radice possono essere controllati da un oggetto ClockController. La Controller proprietà di un orologio figlio restituirà
null. Si noti anche che l'evento Completed non verrà chiamato se la durata effettiva dell'orologio è per sempre. In tal caso, l'utente dovrà determinare quando chiamare Remove.
Si tratta principalmente di un problema per le animazioni sugli oggetti che hanno una durata prolungata. Quando un oggetto viene sottoposto a Garbage Collection, anche i relativi orologi verranno disconnessi e il Garbage Collection.
Per altre informazioni sugli oggetti clock, vedere Cenni preliminari sul sistema di animazione e temporizzazione.