ScaleAnimation-Klasse

ScaleAnimation Class

Stellt Methoden bereit, die es ermöglichen, die Parameter für eine sich vergrößernde oder verkleinernde Animation abzurufen.

Syntax


/* Weitere Informationen zum Erstellen oder Zugreifen auf dieses Objekt finden Sie unter "Hinweise". */

Attribute

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Version(0x06020000)]

Member

ScaleAnimationKlasse hat diese Membertypen:

Methoden

The ScaleAnimation Klasse erbt Methoden von Object Klasse (C#/VB/C++).

Eigenschaften

Der ScaleAnimationKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

Control1

SchreibgeschütztGets the location of the first control point for the cubic Bézier curve that describes how the scale should animate over time.

Control2

SchreibgeschütztGets the location of the second control point for the cubic Bézier curve that describes how the scale should animate over time.

Delay

SchreibgeschütztGets the amount of time between when the scale animation is instructed to begin and when that animation actually begins to draw.

Duration

SchreibgeschütztGets the amount of time over which the scale animation should be performed. This does not include the delay.

FinalScaleX

SchreibgeschütztGets the final horizontal scale factor for the object.

FinalScaleY

SchreibgeschütztGets the final vertical scale factor for the object.

InitialScaleX

SchreibgeschütztGets the initial horizontal scale factor for the object.

InitialScaleY

SchreibgeschütztGets the initial vertical scale factor for the object.

NormalizedOrigin

SchreibgeschütztGets the center point for the scaling animation, expressed as a point relative to the object's normal size.

Type

SchreibgeschütztGets the type of animation represented by this object.

 

Hinweise

Die Skalierung ist ein Faktor, der entweder in X- oder in Y-Richtung auf das Objekt angewendet wird. Ein Skalenwert von 1,0 stellt keine Skalierung dar, ein Skalenwert von kleiner als 1 stellt eine Vergrößerung dar und ein Skalenwert von größer als 1 stellt eine Verkleinerung dar.

Der Ursprungspunkt einer Skala stellt den Mittelpunkt dar, um den die Skalierung stattfinden soll. Dieser Punkt bleibt während der Animation unverändert; er nicht animiert. Der Ursprung wird als Bruchteil der Objektgröße angegeben. Beispielsweise stellt NormalizedOrigin.X von 0,25 einen Punkt mit 25 % Entfernung vom linken Rand zum rechten Rand des Objekts dar. Wenn das Objekt 100 Pixel breit ist, dann wird durch NormalizedOrigin.X ein Punkt dargestellt, der sich 25 Pixel vom linken Rand des Objekts befindet.

Hinweis  Die Richtung von links und rechts ist auf RTL-System (right-to-left, von rechts nach links) umgekehrt.

Betrachten Sie als Beispiel ein Objekt, dessen Koordinatenrechteck (100, 150, 200, 300), ausgedrückt im Format (links, oben, rechts, unten) ist. Angenommen, die interpolierte X-Skala ist 0,4, die interpolierte Y-Skala ist 2,0, der X-Ursprung 0,25, und der Y-Ursprung ist 0,80.

Zuerst konvertieren Sie die normalisierten Ursprungswerte in Pixel. Die Breite des Objekts beträgt 100 Pixel und der X-Ursprung liegt bei 0,25. Daraus ergibt sich ein X-Ursprung von 25 Pixeln von der linken Seite des Objekts. Da die Linkskoordinate des Objekts 100 ist, ist die X-Koordinate des Ursprungs 125.

Entsprechend ist die Höhe des Objekts 150 Pixel und der Y-Ursprung ist 0,80, das einen Y-Ursprung von 120 Pixel vom oberen Rand des Objekts ergibt. Da die Spitzenkoordinate des Objekts 150 ist, ist die y-Koordinate des Ursprungs 245.

Um die Skalierungstransformation anzuwenden, wird das Objekt zunächst mit dem negativen Wert des ursprünglichen Maßstabs übersetzt, wobei es zu (- 25, -95, 75, 55) verschoben wird. Dann werden die linken und rechten Koordinaten mit der x-Skalierung und die oberen und unteren Koordinaten mit der y-Skalierung multipliziert, wodurch sich (-10, -190, 30, 110) ergibt. Schließlich übersetzen wir das Objekt vom Ursprung, woraus sich (115, 55, 155, 300) ergibt.

Die InitialScaleX-Eigenschaft und die InitialScaleY-Eigenschaft werden garantiert beide entweder festgelegt oder nicht festgelegt. Wenn sie nicht festgelegt sind, muss die aktuelle Objektskala als Anfangswert der Animation verwendet werden.

Beispiele

Um eine Instanz der ScaleAnimation-Klasse zu erhalten, rufen Sie zunächst die Auflistung von animations in der animation description ab. Anschließend durchsuchen Sie dieses Array von Animationen nach Animationen vom Typ scale. In den folgenden Beispielen wird dieser Prozess veranschaulicht. Es wird davon ausgegangen, dass die effect- und target-Parameter bereits zuvor zugewiesen wurden.



var animationDescription = new Windows.UI.Core.AnimationMetrics.AnimationDescription(effect, target);

var animations = animationDescription.animations;
for (var i = 0; i < animations.size; i++) {
    var animation = animations[i];

    switch (animation.type) {
        case animationMetrics.PropertyAnimationType.scale:
            // Retrieve scale animation metrics
            break;
        case animationMetrics.PropertyAnimationType.translation:
            // Retrieve translation animation metrics
            break;
        case animationMetrics.PropertyAnimationType.opacity:
            
            // Retrieve scale animation metrics
            break;
    }
}

Das folgende Beispiel zeigt die C#-Version desselben Codes.



using Windows.UI.Core.AnimationMetrics;

AnimationDescription animationDescription = new AnimationDescription(effect, target);
foreach (var animation in animationDescription.Animations)
{
    switch (animation.Type)
    {
        case PropertyAnimationType.Scale:
            {
                ScaleAnimation scale = animation as ScaleAnimation;
                // Retrieve scale animation metrics.
            }
            break;
        case PropertyAnimationType.Translation:
            {
                TranslationAnimation scale = animation as TranslationAnimation;
                // Retrieve translation animation metrics.
            }
            break;
        case PropertyAnimationType.Opacity:
            {
                OpacityAnimation opacity = animation as OpacityAnimation;
                // Retrieve opacity animation metrics.
            }
            break;
    }
}

Anforderungen

Mindestens unterstützter Client

Windows 8 [Windows Store-Apps, Desktop-Apps]

Mindestens unterstützter Server

Windows Server 2012 [Windows Store-Apps, Desktop-Apps]

Namespace

Windows.UI.Core.AnimationMetrics
Windows::UI::Core::AnimationMetrics [C++]

Metadaten

Windows.winmd

Siehe auch

Animationsmetrikbeispiel
AnimationDescription

 

 

Anzeigen:
© 2018 Microsoft