ImplicitAnimationCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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(Microsoft.Foundation.LiftedContract, 65536)]
/// [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.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class ImplicitAnimationCollection final : CompositionObject, IIterable<IKeyValuePair<winrt::hstring, ICompositionAnimationBase const&>>, IMap<winrt::hstring, ICompositionAnimationBase const&>
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[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>>
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
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à
- Attributi
- Implementazioni
-
IDictionary<String,ICompositionAnimationBase> IMap<Platform::String,ICompositionAnimationBase> IMap<winrt::hstring,ICompositionAnimationBase> IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>> IEnumerable<KeyValuePair<String,ICompositionAnimationBase>> IIterable<IKeyValuePair<Platform::String,ICompositionAnimationBase>> IIterable<IKeyValuePair<winrt::hstring,ICompositionAnimationBase>>
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:
- AnchorPoint
- CenterPoint
- Offset
- Opacità
- Orientamento
- RotationAngle
- RotationAngleInDegrees
- RotationAxis
- Ridimensionamento
- Dimensione Se lo stesso valore viene impostato di nuovo, l'animazione non si verifica perché non era presente un delta tra il valore precedente e il nuovo valore.
Proprietà
Comment |
Stringa da associare a CompositionObject. (Ereditato da CompositionObject) |
Compositor |
Compositore usato per creare questo oggetto CompositionObject. (Ereditato da CompositionObject) |
DispatcherQueue |
Ottiene DispatcherQueue per CompositionObject. (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) |
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, AnimationController) |
Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione. (Ereditato da CompositionObject) |
StartAnimation(String, CompositionAnimation) |
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) |