Condividi tramite


ImplicitAnimationCollection Classe

Definizione

Raccolta di animazioni attivate quando viene soddisfatta una condizione.

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))
Ereditarietà
Object Platform::Object IInspectable CompositionObject ImplicitAnimationCollection
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 Anniversary Edition (è stato introdotto in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v3.0)

Esempio

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; 
  } 
} 

Commenti

Le animazioni implicite consentono di guidare le animazioni specificando le condizioni di trigger anziché richiedere la definizione manuale del comportamento dell'animazione. Consentono di separare la logica di animazione dalla logica di base dell'app. Si definiscono animazioni e gli eventi che devono attivare queste animazioni. Il compositore esegue quindi le animazioni set quando vengono soddisfatte le condizioni di trigger appropriate.

Trigger

La condizione funge da trigger per ImplicitAnimationCollection. Questi trigger sono proprietà animabili CompositionObject. Per Windows 10 Update dell'anniversario sono supportate solo le proprietà di animazione visiva come trigger.

this.FinalValue

Si tratta di una parola chiave speciale all'interno di "Sistema espressioni di composizione" che gli sviluppatori possono usare per modificare le animazioni e consentire alla piattaforma di associarla al valore dell'API della proprietà di destinazione.

Le animazioni supportano questa operazione. Parola chiave FinalValue come parola chiave valida per firmare il valore finale di una proprietà di destinazione per un'animazione.

  • Animazioni implicite: questa operazione. FinalValue verrà impostato sull'ultimo valore a cui è stata assegnata direttamente la proprietà di destinazione corrispondente. Ad esempio, quando la proprietà Offset dell'oggetto visivo viene assegnata direttamente a, le animazioni implicite destinate alla proprietà Offset avranno questa proprietà. FinalValue impostato sul nuovo valore Offset , di tipo Vector3. Altre animazioni implicite destinate a proprietà diverse, ad esempio Size , saranno comunque in grado di usare questa proprietà. FinalValue nel modello e in questo caso. FinalValue verrà impostato sul valore corrente della proprietà Size , di tipo Vector2. Si noti che in quest'ultimo caso questo. FinalValue sarà lo stesso di questo. StartingValue . In questo modo viene fornito un comportamento ben definito e semplifica la creazione dei modelli di animazione da parte degli sviluppatori . FinalValue verrà sempre risolto in un valore valido, indipendentemente dalla proprietà che ha attivato la modifica.
  • Animazioni esplicite: per impostazione predefinita avrà lo stesso comportamento del caso dell'animazione implicita, in cui si tratta. FinalValue verrà impostato sull'ultimo valore impostato direttamente sulla proprietà. Ad esempio, le animazioni destinate alla proprietà Size avranno questa proprietà. FinalValue è stato risolto nell'ultimo valore dimensione noto nel livello API. In altre parole, questo. FinalValue sarà lo stesso di questo. StartingValue . Lo sviluppatore sarà in grado di eseguire l'override di tale comportamento e impostarlo. FinalValue su un valore diverso impostandolo come parametro di animazione in modo esplicito.

Eventi e proprietà di destinazione per ImplicitAnimationCollection e CompositionAnimationGroup

ImplicitAnimationCollection consente di aggiungere trigger che l'animazione implicita monitorerà le modifiche e avvia le animazioni correlate, come fornito dallo sviluppatore. ImplicitAnimationCollection supporta tutte le proprietà animabili di Visual che vengono usate anche come proprietà di destinazione per le animazioni. La destinazione deve essere definita nell'animazione o genererà un'eccezione.

implicitAnimationCollection[“Offset”] = offsetAnimationGroup;            

CompositionAnimationGroup contiene un elenco di CompositionAnimation in cui possono essere attivati come singola unità logica. Ogni CompositionAnimation nel gruppo deve avere la proprietà di destinazione impostata.

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

ImplicitAnimationCollection supporta le proprietà seguenti in Visual:

Proprietà

Comment

Stringa da associare a CompositionObject.

(Ereditato da CompositionObject)
Compositor

Compositore usato per creare questo oggetto CompositionObject.

(Ereditato da CompositionObject)
Dispatcher

Dispatcher per CompositionObject.

(Ereditato da CompositionObject)
DispatcherQueue

Ottiene dispatcherQueue per CompostionObject.

(Ereditato da CompositionObject)
ImplicitAnimations

Raccolta di animazioni implicite associate a questo oggetto.

(Ereditato da CompositionObject)
Properties

Raccolta di proprietà associate a CompositionObject.

(Ereditato da CompositionObject)
Size

Dimensione dell’insieme.

Metodi

Clear()

Rimuove tutte le animazioni dalla raccolta.

Close()

Chiude l'oggetto CompositionObject e rilascia le risorse di sistema.

(Ereditato da CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Connette e animazione.

(Ereditato da CompositionObject)
DisconnectAnimation(String)

Disconnette un'animazione.

(Ereditato da CompositionObject)
Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

(Ereditato da CompositionObject)
First()

Recupera la prima animazione nella raccolta.

GetView()

Restituisce una visualizzazione mappa della raccolta.

HasKey(String)

Restituisce un valore booleano che indica se la raccolta contiene la chiave specificata.

Insert(String, ICompositionAnimationBase)

Inserisce un'animazione nella raccolta.

Lookup(String)

Recupera l'animazione associata alla proprietà specificata.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Definisce una proprietà che può essere animata.

(Ereditato da CompositionObject)
Remove(String)

Rimuove l'animazione specificata dalla raccolta.

StartAnimation(String, CompositionAnimation)

Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione.

(Ereditato da CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione.

(Ereditato da CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Avvia un gruppo di animazioni.

Il metodo StartAnimationGroup in CompositionObject consente di avviare CompositionAnimationGroup. Tutte le animazioni del gruppo verranno avviate contemporaneamente sull'oggetto.

(Ereditato da CompositionObject)
StopAnimation(String)

Disconnette un'animazione dalla proprietà specificata e arresta l'animazione.

(Ereditato da CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Arresta un gruppo di animazioni.

(Ereditato da CompositionObject)
TryGetAnimationController(String)

Restituisce un oggetto AnimationController per l'animazione in esecuzione nella proprietà specificata.

(Ereditato da CompositionObject)

Si applica a

Vedi anche