ImplicitAnimationCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine Sammlung von Animationen, die ausgelöst werden, wenn eine Bedingung erfüllt ist.
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))
- Vererbung
- Attribute
- Implementiert
-
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>>
Beispiele
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;
}
}
Hinweise
Implizite Animationen ermöglichen Es Ihnen, Animationen zu steuern, indem Sie Triggerbedingungen angeben, anstatt die manuelle Definition des Animationsverhaltens zu erfordern. Sie helfen beim Entkoppeln der Animationsstartlogik von der Kernlogik der App. Sie definieren Animationen und die Ereignisse, die diese Animationen auslösen sollen. Der Compositor führt dann die Setanimationen aus, wenn die entsprechenden Triggerbedingungen erfüllt sind.
Auslöser
Bedingung fungiert als Trigger für ImplicitAnimationCollection. Bei diesen Triggern handelt es sich um animatable-Eigenschaften von CompositionObject. Für Windows 10 Anniversary Update werden nur visual animatable-Eigenschaften als Trigger unterstützt.
this.FinalValue
Dies ist eine spezielle Schlüsselwort (keyword) innerhalb des "Composition Expressions System", mit dem Entwickler ihre Animationen vorlagen und die Plattform sie an den API-Wert der Zieleigenschaft binden können.
Animationen unterstützen dies. FinalValue Schlüsselwort (keyword) als gültige Schlüsselwort (keyword), um den endgültigen Wert einer Zieleigenschaft für eine Animation zu kennzeichnen.
- Implizite Animationen : Dies. FinalValue wird auf den letzten Wert festgelegt, dem die entsprechende Zieleigenschaft direkt zugewiesen wurde. Wenn instance die Offset-Eigenschaft des Visuals direkt zugewiesen wird, verfügen implizite Animationen, die auf die Offset-Eigenschaft abzielen, dies. FinalValue wird auf den neuen Offset-Wert vom Typ Vector3 festgelegt. Andere implizite Animationen, die auf unterschiedliche Eigenschaften abzielen, z. B. Größe , können dies weiterhin verwenden. FinalValue in der Vorlage, und in diesem Fall dies. FinalValue wird auf den aktuellen Wert der Size-Eigenschaft vom Typ Vector2 festgelegt. Beachten Sie, dass im letzteren Fall dies dies ist. FinalValue ist identisch mit diesem Wert. StartingValue . Dies bietet ein klar definiertes Verhalten und erleichtert es den Entwicklern, die Animationsvorlagen so zu erstellen . FinalValue wird immer in einen gültigen Wert aufgelöst, unabhängig davon, welche Eigenschaft die Änderung ausgelöst hat.
- Explizite Animationen: Standardmäßig weist sie das gleiche Verhalten auf wie die implizite Animation, wobei dies der Fall ist. FinalValue wird auf den letzten Wert festgelegt, auf den die Eigenschaft direkt festgelegt wurde. Dies haben beispielsweise Animationen, die auf die Size-Eigenschaft abzielen . FinalValue wurde auf den letzten bekannten Size-Wert auf der API-Ebene aufgelöst. Mit anderen Worten, dies. FinalValue ist identisch mit diesem Wert. StartingValue . Der Entwickler kann dieses Verhalten überschreiben und festlegen. FinalValue auf einen anderen Wert, indem er explizit als Animationsparameter festgelegt wird.
Ereignisse und Zieleigenschaften für ImplicitAnimationCollection und CompositionAnimationGroup
ImpliziteAnimationCollection ermöglicht das Hinzufügen von Triggern, die implizite Animationen auf Änderungen überwachen und verwandte Animationen auslösen, wie vom Entwickler bereitgestellt. ImplicitAnimationCollection unterstützt alle visual animatable-Eigenschaften, die auch als Zieleigenschaften für Animationen verwendet werden. Das Ziel muss für die Animation definiert werden, sonst löst es eine Ausnahme aus.
implicitAnimationCollection[“Offset”] = offsetAnimationGroup;
CompositionAnimationGroup enthält eine Liste von CompositionAnimation , in der sie als einzelne logische Einheit ausgelöst werden können. Für jede CompositionAnimation in der Gruppe sollte die Zieleigenschaft festgelegt sein.
CompositionAnimationGroup.Add(opacityKeyFrameAnimation);
CompositionAnimationGroup.Insert(sizeKeyFrameAnimation);
ImplicitAnimationCollection unterstützt die folgenden Eigenschaften in Visual:
- AnchorPoint
- CenterPoint
- Offset
- Deckkraft
- Ausrichtung
- RotationAngle
- RotationAngleInDegrees
- RotationAxis
- Skalieren
- Größe Wenn derselbe Wert erneut festgelegt wird, wird die Animation nicht ausgeführt, da zwischen dem vorherigen und dem neuen Wert kein Delta vorhanden war.
Eigenschaften
Comment |
Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll. (Geerbt von CompositionObject) |
Compositor |
Der Compositor , der zum Erstellen dieses CompositionObject verwendet wird. (Geerbt von CompositionObject) |
DispatcherQueue |
Ruft den DispatcherQueue für das CompositionObject ab. (Geerbt von CompositionObject) |
ImplicitAnimations |
Die Auflistung impliziter Animationen, die diesem Objekt angefügt sind. (Geerbt von CompositionObject) |
Properties |
Die Auflistung von Eigenschaften, die dem CompositionObject zugeordnet sind. (Geerbt von CompositionObject) |
Size |
Die Größe der Auflistung. |
Methoden
Clear() |
Entfernt alle Animationen aus der Sammlung. |
Close() |
Schließt das CompositionObject und gibt Systemressourcen frei. (Geerbt von CompositionObject) |
Dispose() |
Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen. (Geerbt von CompositionObject) |
First() |
Ruft die erste Animation in der Auflistung ab. |
GetView() |
Gibt eine Kartenansicht der Auflistung zurück. |
HasKey(String) |
Gibt einen booleschen Wert zurück, der angibt, ob die Auflistung den angegebenen Schlüssel enthält. |
Insert(String, ICompositionAnimationBase) |
Fügt eine Animation in die Auflistung ein. |
Lookup(String) |
Ruft die Animation ab, die der angegebenen Eigenschaft zugeordnet ist. |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Definiert eine Eigenschaft, die animiert werden kann. (Geerbt von CompositionObject) |
Remove(String) |
Entfernt die angegebene Animation aus der Auflistung. |
StartAnimation(String, CompositionAnimation, AnimationController) |
Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation. (Geerbt von CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation. (Geerbt von CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Startet eine Animationsgruppe. Mit der StartAnimationGroup-Methode für CompositionObject können Sie CompositionAnimationGroup starten. Alle Animationen in der Gruppe werden gleichzeitig für das Objekt gestartet. (Geerbt von CompositionObject) |
StopAnimation(String) |
Trennt eine Animation von der angegebenen Eigenschaft und beendet die Animation. (Geerbt von CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Beendet eine Animationsgruppe. (Geerbt von CompositionObject) |
TryGetAnimationController(String) |
Gibt einen AnimationController für die Animation zurück, die für die angegebene Eigenschaft ausgeführt wird. (Geerbt von CompositionObject) |