Freigeben über


ElasticEase Klasse

Definition

Stellt eine Beschleunigungsfunktion dar, die eine Animation erstellt, die einer hin- und herschwingenden Feder ähnelt, bis diese zum Stillstand 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 vor und zurück 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 Von/bis-Bereichs erzeugen können. (Die andere ist BackEase.) Wenn die Beschleunigungsfunktion beginnt, oszilliert der Wert positiv und negativ um den From-Wert , bis er eine letztendlich positive Amplitude erreicht, die den To-Wert ist. Die Springiness-Eigenschaft ändert den sinusförmigen Charakter dieser Schwingung. Mit der Springiness von 0 ist die Schwingung im Grunde sinusförmig und ähnelt einem typischen Diagramm der Federbewegung. Mit größeren Springiness-Werten ist dies wie eine Dämpfung der Federbewegung.

Die Oscillations-Eigenschaft deklariert, wie oft die Funktion oszilliert und in Werte kreuzt, die tatsächlich unterhalb des Beginnenden From-Werts liegen.

Sie können die besten Ergebnisse erzielen, indem Sie einfach mit den Eigenschaften Springiness, Oscillations und EasingMode experimentieren, bis die Animation visuell das tut, was Sie für Ihr animiertes Eigenschaftenwertszenario wünschen.

BounceEase ist eine ähnliche Beschleunigungsfunktion, die sich gut für die Physikemulation in Animationen eignet. Der Unterschied zu ElasticEase besteht darin, dass eine BounceEase niemals außerhalb des Bereichs Von/bis zu liegt. Eine weitere Möglichkeit, die beiden Beschleunigungsfunktionen zu konzipieren, besteht darin, dass ElasticEase das Zupfen einer Zeichenfolge animiert, während BounceEase zum Anzeigen des Abprallens eines Balls auf eine Linie oder Ebene verwendet werden kann.

Eine Easing-Funktion kann auf die EasingFunction-Eigenschaften von From/To/By-Animationen oder auf die EasingFunction-Eigenschaften von Keyframe-Typen angewendet werden, die für die Easing-Varianten von Keyframeanimationen verwendet werden. Weitere Informationen finden Sie unter Keyframeanimationen und Funktionenanimationen zur Beschleunigung.

Konstruktoren

ElasticEase()

Initialisiert eine neue instance der ElasticEase-Klasse.

Eigenschaften

Dispatcher

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

(Geerbt von DependencyObject)
DispatcherQueue

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

(Geerbt von DependencyObject)
EasingMode

Ruft einen Wert ab, der angibt, wie die Animation interpoliert wird, oder legt diesen Wert fest.

(Geerbt von EasingFunctionBase)
Oscillations

Ruft die Häufigkeit ab, mit der das Ziel über das Animationsziel hin- und hergleitet, oder legt sie fest.

OscillationsProperty

Gibt die Abhängigkeitseigenschaft Oscillations an .

Springiness

Ruft die Steifigkeit der Feder ab oder legt sie fest. Je kleiner der Elastizitätswert ist, desto steifer ist die Feder und desto schneller nimmt die Elastizität an Intensität mit jeder Schwingung ab.

SpringinessProperty

Gibt die Abhängigkeitseigenschaft Springiness an.

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
Ease(Double)

Transformiert die normalisierte Zeit, um die Geschwindigkeit einer Animation zu steuern.

(Geerbt von EasingFunctionBase)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, 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 ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(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 registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen