HandoffBehavior Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie la façon dont les nouvelles animations interagissent avec les animations existantes qui sont déjà appliquées à une propriété.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- Héritage
Champs
Compose | 1 | Pour combiner les nouvelles animations à celles existantes, les nouvelles animations sont ajoutées à la fin de la chaîne de composition. |
SnapshotAndReplace | 0 | Les nouvelles animations remplacent les animations existantes sur les propriétés auxquelles elles sont appliquées. |
Remarques
Lorsque vous appliquez un Storyboard, AnimationTimelineou AnimationClock à une propriété à l’aide de Compose, tous Clock les objets précédemment associés à cette propriété continuent à consommer des ressources système ; le système de minutage ne supprime pas automatiquement les horloges.
Pour éviter les problèmes de performances lorsque vous appliquez un grand nombre d’horloges à l’aide de Compose, vous devez supprimer les horloges de composition de la propriété animée une fois qu’elles ont été terminées. Il existe plusieurs façons de supprimer une horloge :
Pour supprimer toutes les horloges d’une propriété, utilisez la méthode ou BeginAnimation(DependencyProperty, AnimationTimeline) l’objet ApplyAnimationClock(DependencyProperty, AnimationClock) animé. Spécifiez la propriété animée en tant que premier paramètre et
null
en tant que seconde. Cela supprimera toutes les horloges d’animation de la propriété.Pour supprimer une liste spécifique AnimationClock d’horloges, utilisez la Controller propriété de la AnimationClock récupération d’un ClockController, puis appelez la Remove méthode du ClockController. Cela est généralement effectué dans le Completed gestionnaire d’événements pour une horloge. Notez que seules les horloges racines peuvent être contrôlées par un ClockController; la Controller propriété d’une horloge enfant retourne
null
. Notez également que l’événement Completed ne sera pas déclenché si la durée effective de l’horloge est indéfiniment. Dans ce cas, l’utilisateur doit déterminer quand appeler Remove.
Il s’agit principalement d’un problème pour les animations sur des objets qui ont une durée de vie longue. Lorsqu’un objet est récupéré par le garbage collector, ses horloges sont également déconnectées et récupérées.
Pour plus d’informations sur les objets d’horloge, consultez Animation et Vue d’ensemble du système de minutage.