Animatable.ApplyAnimationClock Méthode
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.
Anime le DependencyProperty spécifié à l’aide du AnimationClockspécifié.
Surcharges
ApplyAnimationClock(DependencyProperty, AnimationClock) |
Applique un AnimationClock au DependencyPropertyspécifié. Si la propriété est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé. |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Applique un AnimationClock au DependencyPropertyspécifié. Si la propriété est déjà animée, la HandoffBehavior spécifiée est utilisée. |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Applique un AnimationClock au DependencyPropertyspécifié. Si la propriété est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé.
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)
Paramètres
Propriété à animer.
- clock
- AnimationClock
Horloge avec laquelle animer la propriété spécifiée. Si clock
est null
, toutes les animations sont supprimées de la propriété spécifiée (mais pas arrêtées).
Implémente
Remarques
Notez que l’utilisation de cette méthode pour supprimer les horloges d’une propriété n’arrête pas ces horloges.
S’applique à
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Applique un AnimationClock au DependencyPropertyspécifié. Si la propriété est déjà animée, la HandoffBehavior spécifiée est utilisée.
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)
Paramètres
Propriété à animer.
- clock
- AnimationClock
Horloge avec laquelle animer la propriété spécifiée. Si handoffBehavior
est SnapshotAndReplace et clock
est null
, toutes les animations sont supprimées de la propriété spécifiée (mais pas arrêtées). Si handoffBehavior
est Compose et que l’horloge est null
, cette méthode n’a aucun effet.
- handoffBehavior
- HandoffBehavior
Valeur qui spécifie la façon dont la nouvelle animation doit interagir avec toutes les animations actuelles affectant déjà la valeur de la propriété.
Implémente
Exemples
L’exemple suivant montre comment appliquer des horloges d’animation à l’aide de différents paramètres HandoffBehavior.
Remarques
Notez que l’utilisation de cette méthode pour supprimer les horloges d’une propriété n’arrête pas ces horloges.
Utilisation de Compose HandoffBehavior
Lorsque vous appliquez un Storyboard, AnimationTimelineou AnimationClock à une propriété à l’aide du ComposeHandoffBehavior, tous les objets Clock précédemment associés à cette propriété continuent à consommer des ressources système ; le système de minutage ne supprime pas automatiquement ces horloges.
Pour éviter les problèmes de performances lorsque vous appliquez un grand nombre d’horloges à l’aide de Compose, vous devez supprimer la composition d’horloges 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 ApplyAnimationClock(DependencyProperty, AnimationClock) ou BeginAnimation(DependencyProperty, AnimationTimeline) de l’objet animé. Spécifiez la propriété animée comme premier paramètre et
null
comme seconde. Cela supprime toutes les horloges d’animation de la propriété.Pour supprimer un AnimationClock spécifique d’une liste d’horloges, utilisez la propriété Controller de l'AnimationClock pour récupérer un ClockController, puis appelez la méthode Remove du ClockController. Cette opération est généralement effectuée dans le gestionnaire d’événements Completed pour une horloge. Notez que seules les horloges racines peuvent être contrôlées par un ClockController; la propriété Controller d’une horloge enfant retourne
null
. Notez également que l’événement de Completed ne sera pas appelé si la durée effective de l’horloge est pour toujours. Dans ce cas, l’utilisateur doit déterminer quand appeler Remove.
Il s’agit principalement d’un problème pour les animations sur les objets qui ont une longue durée de vie. Lorsqu’un objet est récupéré par la mémoire, ses horloges sont également déconnectées et récupérées par le garbage.
Pour plus d’informations sur les objets horloge, consultez la Vue d’ensemble de l’animation et du système de minutage.