ElasticEase Klasse

Definition

Stellt eine Beschleunigungsfunktion dar, die eine Animation erstellt, die einer Feder gleicht, die hin und her schwingt, bis sie zum Ruhezustand kommt.

public ref class ElasticEase sealed : EasingFunctionBase
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ElasticEase final : EasingFunctionBase
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
Vererbung
Object Platform::Object IInspectable DependencyObject EasingFunctionBase ElasticEase
Attribute

Beispiele

In diesem XAML-Beispiel wird eine ElasticEase-Beschleunigungsfunktion auf eine DoubleAnimation angewendet, um eine Animation zu erstellen, die einer Feder ähnelt, die hin und her schwingt, bis sie zur Ruhe kommt.

<StackPanel x:Name="LayoutRoot" >
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
            <DoubleAnimation From="1" To="6" Duration="00:00:3" 
                Storyboard.TargetName="rectScaleTransform" 
                Storyboard.TargetProperty="ScaleY">
                <DoubleAnimation.EasingFunction>
                    
                    <!-- Elastic easing function assigned to From/To animation -->
                    <ElasticEase x:Name="myElasticEase" Oscillations="3" 
                     Springiness="1" EasingMode="EaseOut"/>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>
    </StackPanel.Resources>

    <Rectangle PointerPressed="Pointer_Clicked" 
     Fill="Blue" Width="200" Height="30">
        <Rectangle.RenderTransform>
            <ScaleTransform x:Name="rectScaleTransform" />
        </Rectangle.RenderTransform>
    </Rectangle>

</StackPanel>
// When the user clicks the rectangle, the animation
// begins. 
private void Pointer_Clicked(object sender, PointerRoutedEventArgs e)
{
    myStoryboard.Begin();
}

Hinweise

ElasticEase ist eine der beiden Beschleunigungsfunktionen, die einen Wert außerhalb des normalen From/To-Bereichs erzeugen können. (Die andere ist BackEase.) Wenn die Beschleunigungsfunktion beginnt, oszilliert der Wert positiv und negativ um den From-Wert , bis es eine spätere positive Amplitude erreicht, die der To-Wert ist. Die Springiness-Eigenschaft ändert den sinusförmigen Charakter dieser Schwingung. Mit 0 Springigkeit ist die Schwingung im Grunde sinusoidal und ähnelt einem typischen Diagramm einer Federbewegung. Bei größeren Springigkeitswerten ist es wie das Dämpfen der Federbewegung.

Die Oszillationseigenschaft deklariert, wie oft die Funktion schwingt und in Werte überschreitet, die tatsächlich unter dem Ausgangswert Von liegen.

Sie können optimale Ergebnisse erzielen, indem Sie einfach nur mit den Eigenschaften Springiness, Oszillation und EasingMode experimentieren, bis die Animation visuell das gewünschte Szenario für animierte Eigenschaftswert ausführt.

BounceEase ist eine ähnliche Beschleunigungsfunktion, die gut für die Physikemulation in Animationen geeignet ist. Der Unterschied zu ElasticEase besteht darin, dass eine BounceEase nicht jemals außerhalb des Bereichs von "Von/" . Eine weitere Möglichkeit, die beiden Beschleunigungsfunktionen zu konzipieren, ist, dass ElasticEase das Animieren des Zupfens einer Zeichenfolge ist, während BounceEase das ist, was Sie verwenden können, um den Absprung eines Balls gegen eine Linie oder ein Flugzeug anzuzeigen.

Eine Beschleunigungsfunktion kann auf die EasingFunction-Eigenschaften von From/To/By-Animationen oder auf die EasingFunction-Eigenschaften von Keyframetypen angewendet werden, die für die Beschleunigungsvarianten von Keyframeanimationen verwendet werden. Weitere Informationen finden Sie unter Keyframeanimationen und Beschleunigungsfunktionsanimationen.

Konstruktoren

Name Beschreibung
ElasticEase()

Initialisiert eine neue Instanz der ElasticEase-Klasse .

Eigenschaften

Name Beschreibung
Dispatcher

Gibt immer in einer Windows App SDK-App zurück null . Verwenden Sie stattdessen DispatcherQueue .

(Geerbt von DependencyObject)
DispatcherQueue

Ruft ab DispatcherQueue , dem dieses Objekt zugeordnet ist. Dies DispatcherQueue stellt eine Einrichtung dar, die auf den DependencyObject UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
EasingMode

Dient zum Abrufen oder Festlegen eines Werts, der angibt, wie die Animation interpoliert.

(Geerbt von EasingFunctionBase)
Oscillations

Ruft ab oder legt fest, wie oft die Zielfolien über dem Animationsziel hin und her geschoben werden.

OscillationsProperty

Identifies the Oscillations dependency property.

Springiness

Ruft die Stiffness der Feder ab oder legt sie fest. Je kleiner der Springigkeitswert ist, desto härter wird die Feder und desto schneller verringert sich die Intensität über jede Schwingung.

SpringinessProperty

Identifies the Springiness dependency property.

Methoden

Name Beschreibung
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
Ease(Double)

Transformiert die normalisierte Zeit, um das Tempo einer Animation zu steuern.

(Geerbt von EasingFunctionBase)
GetAnimationBaseValue(DependencyProperty)

Gibt einen Basiswert zurück, der für eine Abhängigkeitseigenschaft eingerichtet wurde, was in Fällen angewendet wird, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt wird.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion, um Änderungen an einer bestimmten DependencyProperty für diese DependencyObject-Instanz zu überwachen.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor durch Aufrufen von RegisterPropertyChangedCallback registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen