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 in che modo 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
Compose | 1 | Le nuove animazioni vengono combinate con quelle esistenti aggiungendo le nuove animazioni alla fine della catena di composizione. |
SnapshotAndReplace | 0 | Le nuove animazioni sostituiscono le eventuali animazioni esistenti nelle proprietà a cui sono applicate. |
Commenti
Quando si applica una proprietà , AnimationTimelineo AnimationClock a una Storyboardproprietà usando Compose, tutti Clock gli 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à, usare il ApplyAnimationClock(DependencyProperty, AnimationClock) metodo o BeginAnimation(DependencyProperty, AnimationTimeline) dell'oggetto animato. Specificare la proprietà animata come primo parametro e
null
come seconda. In questo modo tutti gli orologi dell'animazione vengono rimossi dalla proprietà.Per rimuovere un oggetto specifico AnimationClock da un elenco di orologi, utilizzare la Controller proprietà dell'oggetto AnimationClockClockControllerper recuperare un ClockControlleroggetto , quindi chiamare il Remove metodo di . 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 . La Controller proprietà di un ClockControllerorologio figlio restituisce
null
. Si noti anche che l'evento non verrà generato se la durata effettiva dell'orologio Completed è per sempre. In tal caso, l'utente deve determinare quando chiamare Remove.
Si tratta principalmente di un problema relativo alle animazioni su oggetti di lunga durata. Quando un oggetto viene raccolto nel Garbage Collector, anche gli orologi vengono disconnessi e raccolti nel Garbage Collector stesso.
Per altre informazioni sugli oggetti orologio, vedere Panoramica del sistema di animazione e temporizzazione.