Partage via


ImplicitAnimationCollection Classe

Définition

Collection d’animations déclenchées lorsqu’une condition est remplie.

public ref class ImplicitAnimationCollection sealed : CompositionObject, IIterable<IKeyValuePair<Platform::String ^, ICompositionAnimationBase ^> ^>, IMap<Platform::String ^, ICompositionAnimationBase ^>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImplicitAnimationCollection final : CompositionObject, IIterable<IKeyValuePair<winrt::hstring, ICompositionAnimationBase const&>>, IMap<winrt::hstring, ICompositionAnimationBase const&>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImplicitAnimationCollection : CompositionObject, IDictionary<string,ICompositionAnimationBase>, IEnumerable<KeyValuePair<string,ICompositionAnimationBase>>
Public NotInheritable Class ImplicitAnimationCollection
Inherits CompositionObject
Implements IDictionary(Of String, ICompositionAnimationBase), IEnumerable(Of KeyValuePair(Of String, ICompositionAnimationBase))
Héritage
Object Platform::Object IInspectable CompositionObject ImplicitAnimationCollection
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 Anniversary Edition (introduit dans 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v3.0)

Exemples

class PropertyAnimation 
{ 
  PropertyAnimation(Compositor compositor, SpriteVisual heroVisual, SpriteVisual listVisual) 
  { 
    // Define ImplicitAnimationCollection 
    ImplicitAnimationCollection implicitAnimations = compositor.CreateImplicitAnimationCollection(); 

    // Trigger animation when the “Offset” property changes. 
    implicitAnimations["Offset"] = CreateAnimation(compositor); 

    // Assign ImplicitAnimations to a visual. Unlike Visual.Children,     
    // ImplicitAnimations can be shared by multiple visuals so that they  
    // share the same implicit animation behavior (same as Visual.Clip). 
    heroVisual.ImplicitAnimations = implicitAnimations; 

    // ImplicitAnimations can be shared among visuals  
    listVisual.ImplicitAnimations = implicitAnimations; 

    listVisual.Offset = new Vector3(20f, 20f, 20f); 
  } 

  Vector3KeyFrameAnimation CreateAnimation(Compositor compositor) 
  { 
    Vector3KeyFrameAnimation animation = compositor.CreateVector3KeyFrameAnimation(); 
    animation.InsertExpressionKeyFrame(0f, "this.StartingValue"); 
    animation.InsertExpressionKeyFrame(1f, "this.FinalValue"); 
    animation.Target = “Offset”; 
    animation.Duration = TimeSpan.FromSeconds(0.25); 
    return animation; 
  } 
} 

Remarques

Les animations implicites vous permettent de piloter des animations en spécifiant des conditions de déclencheur plutôt que d’exiger la définition manuelle du comportement de l’animation. Ils permettent de dissocier la logique de démarrage de l’animation de la logique d’application principale. Vous définissez des animations et les événements qui doivent déclencher ces animations. Le compositeur exécute ensuite les animations définies lorsque les conditions de déclencheur appropriées sont remplies.

Déclencheurs

La condition joue le rôle de déclencheurs pour ImplicitAnimationCollection. Ces déclencheurs sont des propriétés animatables CompositionObject. Par Windows 10 mise à jour anniversaire, seules les propriétés visual animatables sont prises en charge en tant que déclencheurs.

this.FinalValue

Il s’agit d’un mot clé spécial dans le « système d’expressions de composition » que les développeurs peuvent utiliser pour créer un modèle d’animations et permettre à la plateforme de les lier à la valeur d’API de la propriété cible.

Les animations le prennent en charge. FinalValue mot clé en tant que mot clé valide pour indiquer la valeur finale d’une propriété cible pour une animation.

  • Animations implicites : ceci. FinalValue est défini sur la dernière valeur à laquelle la propriété cible correspondante a été directement affectée. Par instance, lorsque la propriété Offset du visuel est directement affectée, les animations implicites qui ciblent la propriété Offset ont ceci. FinalValue défini sur la nouvelle valeur offset, de type Vector3. D’autres animations implicites qui ciblent différentes propriétés, par exemple Size , pourront toujours utiliser le ceci. FinalValue dans le modèle et, dans ce cas, celui-ci. FinalValue est défini sur la valeur actuelle de la propriété Size , de type Vector2. Notez que dans ce dernier cas , ceci. FinalValue sera identique à ceci. StartingValue . Cela fournit un comportement bien défini et facilite la création des modèles d’animation par les développeurs . FinalValue est toujours résolu en une valeur valide, quelle que soit la propriété qui a déclenché la modification.
  • Animations explicites : par défaut, elle aura le même comportement que le cas de l’animation implicite, où cela. FinalValue est défini sur la dernière valeur sur laquelle la propriété a été directement définie. Par exemple, les animations qui ciblent la propriété Size auront ceci. FinalValue a été résolu en dernière valeur size connue sur la couche API. En d’autres termes, ceci. FinalValue sera identique à ceci. StartingValue . Le développeur pourra remplacer ce comportement et le définir . FinalValue sur une autre valeur en la définissant explicitement en tant que paramètre d’animation.

Événements et propriétés cibles pour ImplicitAnimationCollection et CompositionAnimationGroup

ImplicitAnimationCollection vous permet d’ajouter des déclencheurs que l’animation implicite surveillera pour les modifications et lancera les animations associées fournies par le développeur. ImplicitAnimationCollection prend en charge toutes les propriétés visual animatables qui sont également utilisées comme propriétés cibles pour les animations. La cible doit être définie sur l’animation, sinon elle lève une exception.

implicitAnimationCollection[“Offset”] = offsetAnimationGroup;            

CompositionAnimationGroup contient une liste de CompositionAnimation où ils peuvent être déclenchés en tant qu’unité logique unique. Chaque CompositionAnimation dans le groupe doit avoir la propriété cible définie.

CompositionAnimationGroup.Add(opacityKeyFrameAnimation);
CompositionAnimationGroup.Insert(sizeKeyFrameAnimation);

ImplicitAnimationCollection prend en charge les propriétés suivantes sur Visual :

Propriétés

Comment

Chaîne à associer à l’objet CompositionObject.

(Hérité de CompositionObject)
Compositor

Compositeur utilisé pour créer cet Objet CompositionObject.

(Hérité de CompositionObject)
Dispatcher

Répartiteur de l’objet CompositionObject.

(Hérité de CompositionObject)
DispatcherQueue

Obtient dispatcherQueue pour compostionObject.

(Hérité de CompositionObject)
ImplicitAnimations

Collection d’animations implicites attachées à cet objet.

(Hérité de CompositionObject)
Properties

Collection de propriétés associées à CompositionObject.

(Hérité de CompositionObject)
Size

Taille de la collection.

Méthodes

Clear()

Supprime toutes les animations de la collection.

Close()

Ferme l’objet CompositionObject et libère les ressources système.

(Hérité de CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Se connecte et animation.

(Hérité de CompositionObject)
DisconnectAnimation(String)

Déconnecte une animation.

(Hérité de CompositionObject)
Dispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.

(Hérité de CompositionObject)
First()

Récupère la première animation de la collection.

GetView()

Retourne une vue cartographique de la collection.

HasKey(String)

Retourne une valeur booléenne indiquant si la collection contient la clé spécifiée.

Insert(String, ICompositionAnimationBase)

Insère une animation dans la collection.

Lookup(String)

Récupère l’animation associée à la propriété spécifiée.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Définit une propriété qui peut être animée.

(Hérité de CompositionObject)
Remove(String)

Supprime l’animation spécifiée de la collection.

StartAnimation(String, CompositionAnimation)

Connecte une animation avec la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Connecte une animation avec la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Démarre un groupe d’animations.

La méthode StartAnimationGroup sur CompositionObject vous permet de démarrer CompositionAnimationGroup. Toutes les animations du groupe sont démarrées en même temps sur l’objet .

(Hérité de CompositionObject)
StopAnimation(String)

Déconnecte une animation de la propriété spécifiée et arrête l’animation.

(Hérité de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Arrête un groupe d’animations.

(Hérité de CompositionObject)
TryGetAnimationController(String)

Renvoie un AnimationController pour l’animation en cours d’exécution sur la propriété spécifiée.

(Hérité de CompositionObject)

S’applique à

Voir aussi