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 sont terminées. Il existe plusieurs façons de supprimer une horloge :
Pour supprimer toutes les horloges d’une propriété, utilisez la ApplyAnimationClock(DependencyProperty, AnimationClock) méthode ou BeginAnimation(DependencyProperty, AnimationTimeline) de l’objet animé. Spécifiez la propriété animée comme premier paramètre et
null
comme deuxième. Cela supprimera toutes les horloges d’animation de la propriété.Pour supprimer un spécifique AnimationClock d’une liste d’horloges, utilisez la Controller propriété de AnimationClock pour récupérer un ClockController, puis appelez la Remove méthode du ClockController. Cette opération est généralement effectuée dans le gestionnaire d’événements Completed d’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 éternelle. 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 Vue d’ensemble du système d’animation et de minutage.