HandoffBehavior Enumerazione
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.
Specifica il modo in cui le nuove animazioni interagiscono con quelle esistenti già applicate a una proprietà.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Ereditarietà
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| SnapshotAndReplace | 0 | Le nuove animazioni sostituiscono tutte le animazioni esistenti nelle proprietà a cui vengono applicate. |
| Compose | 1 | Le nuove animazioni vengono combinate con le animazioni esistenti aggiungendo le nuove animazioni alla fine della catena di composizione. |
Commenti
Quando si applica una Storyboardproprietà , AnimationTimelineo AnimationClock a una proprietà utilizzando Compose, tutti gli Clock oggetti associati in precedenza a tale proprietà continuano a utilizzare le risorse di sistema. Il sistema di temporizzazione non rimuoverà automaticamente gli 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 metodo ApplyAnimationClock(DependencyProperty, AnimationClock) o BeginAnimation(DependencyProperty, AnimationTimeline) dell'oggetto animato. Specifica la proprietà da animare come primo parametro e
nullcome secondo. In questo modo tutti gli orologi di animazione verranno rimossi dalla proprietà .Per rimuovere un AnimationClock specifico da un elenco di orologi, utilizzare la proprietà Controller del AnimationClock per recuperare un ClockController, quindi chiamare il metodo Remove del ClockController. Questa operazione viene in genere eseguita nel gestore eventi Completed per un orologio. Si noti che solo gli orologi radice possono essere controllati da un oggetto ClockController. La Controller proprietà di un orologio figlio restituisce
null. Si noti anche che l'evento Completed non verrà generato se la durata effettiva dell'orologio è per sempre. In tal caso, l'utente deve 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 raccolta dei rifiuti, anche i relativi orologi verranno disconnessi e raccolti dai rifiuti.
Per ulteriori informazioni sugli oggetti clock, vedere Panoramica del sistema di animazione e temporizzazione.