Partager via


ElasticEase Classe

Définition

Représente une fonction d'accélération qui crée une animation qui ressemble à un ressort oscillant d'avant en arrière jusqu'à ce qu'il se stabilise.

public ref class ElasticEase sealed : EasingFunctionBase
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ElasticEase final : EasingFunctionBase
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ElasticEase : EasingFunctionBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
Héritage
Object Platform::Object IInspectable DependencyObject EasingFunctionBase ElasticEase
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Cet exemple XAML applique une fonction d’accélération ElasticEase à une doubleanimation pour créer une animation qui ressemble à un ressort oscillant d’avant en arrière jusqu’à ce qu’il soit reposé.

<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();
}
' When the user clicks the rectangle, the animation
' begins. 
Private Sub Pointer_Clicked(ByVal sender As Object, ByVal e As PointerRoutedEventArgs)
    myStoryboard.Begin()
End Sub

Remarques

ElasticEase est l’une des deux fonctions d’accélération qui peuvent produire une valeur en dehors de la plage Normale De/À . (L’autre est BackEase.) Au début de la fonction d’accélération, la valeur oscille positive et négative autour de la valeur From jusqu’à ce qu’elle atteigne une amplitude positive qui est la valeur To . La propriété Springiness modifie le caractère sinusoïdal de cette oscillation. Avec springiness de 0, l’oscillation est essentiellement sinusoïdale et ressemble à un diagramme typique du mouvement d’un ressort. Avec des valeurs Springiness plus grandes, c’est comme amortir le mouvement du ressort.

La propriété Oscillations déclare le nombre de fois où la fonction oscille et se croise en valeurs qui sont en fait inférieures à la valeur from de départ.

Vous pouvez obtenir de meilleurs résultats en expérimentant simplement les propriétés Springiness, Oscillations et EasingMode jusqu’à ce que l’animation fasse visuellement ce que vous voulez pour votre scénario de valeur de propriété animée.

BounceEase est une fonction d’accélération similaire qui fonctionne bien pour l’émulation physique dans les animations. La différence avec ElasticEase est qu’un BounceEase ne sortira jamais de la plage From/To . Une autre façon de conceptualiser les deux fonctions d’accélération est qu’ElasticEase est ce que vous pouvez utiliser pour animer le pincement d’une chaîne, tandis que BounceEase est ce que vous pouvez utiliser pour afficher le rebond d’une balle sur une ligne ou un plan.

Une fonction d’accélération peut être appliquée aux propriétés EasingFunction des animations From/To/By ou aux propriétés EasingFunction des types d’images clés utilisés pour les variantes d’accélération des animations d’images clés. Pour plus d’informations, consultez Animations d’images clés et animations de fonction d’accélération.

Constructeurs

ElasticEase()

Initialise une nouvelle instance de la classe ElasticEase.

Propriétés

Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une fonctionnalité qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
EasingMode

Obtient ou définit une valeur qui spécifie le mode d'interpolation de l'animation.

(Hérité de EasingFunctionBase)
Oscillations

Obtient ou définit le nombre de fois où la cible glisse d'avant en arrière sur la destination de l'animation.

OscillationsProperty

Identifie la propriété de dépendance Oscillations .

Springiness

Obtient ou définit la rigidité du ressort. Plus la valeur de souplesse est faible, plus le ressort devient rigide et plus l'élasticité diminue rapidement en intensité avec chaque oscillation.

SpringinessProperty

Identifie la propriété de dépendance Springiness .

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
Ease(Double)

Transforme le temps normalisé pour contrôler la vitesse d'une animation.

(Hérité de EasingFunctionBase)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’appliquerait dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject.

(Hérité de DependencyObject)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi