ElasticEase Classe

Definizione

Rappresenta una funzione di interpolazione che crea un'animazione simile a una molla che oscilla avanti e indietro fino a quando non arriva a riposo.

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 .../>
Ereditarietà
Object Platform::Object IInspectable DependencyObject EasingFunctionBase ElasticEase
Attributi

Esempio

Questo esempio XAML applica una funzione di interpolazione ElasticEase a doubleAnimation per creare un'animazione simile a una molla che oscilla avanti e indietro fino a quando non arriva a riposo.

<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();
}

Commenti

ElasticEase è una delle due funzioni di interpolazione che possono produrre un valore al di fuori dell'intervallo From/To normale. L'altro è BackEase. Quando inizia la funzione di interpolazione, il valore oscilla positivo e negativo intorno al valore From fino a raggiungere un'ampiezza positiva finale che è il valore To . La proprietà Springiness modifica il carattere sinusoidale di questa oscillazione. Con springiness di 0, l'oscillazione è fondamentalmente sinusoidale e assomiglia a un tipico diagramma del movimento di una molla. Con valori più grandi di Springiness , è come smorzare il movimento della primavera.

La proprietà Oscillations dichiara quante volte la funzione oscilla e attraversa in valori effettivamente inferiori al valore From iniziale.

È possibile ottenere risultati ottimali sperimentando semplicemente le proprietà Springiness, Oscillations e EasingMode fino a quando l'animazione non esegue visivamente ciò che vuoi per il tuo scenario di valore della proprietà animata.

BounceEase è una funzione di interpolazione simile che funziona bene per l'emulazione fisica nelle animazioni. La differenza con ElasticEase è che un BounceEase non andrà mai fuori dall'intervallo From/To . Un altro modo per concettualizzare le due funzioni di interpolazione è che ElasticEase è ciò che si potrebbe usare per animare il plucking di una stringa, mentre BounceEase è ciò che si potrebbe usare per mostrare il rimbalzo di una palla su una linea o un piano.

Una funzione di interpolazione può essere applicata alle proprietà EasingFunction delle animazioni From/To/By o alle proprietà EasingFunction dei tipi di fotogrammi chiave usati per le varianti interpolazioni delle animazioni con fotogrammi chiave. Per altre info, vedi Animazioni con fotogrammi chiave e animazioni delle funzioni di interpolazione.

Costruttori

Nome Descrizione
ElasticEase()

Inizializza una nuova istanza della classe ElasticEase .

Proprietà

Nome Descrizione
Dispatcher

Restituisce null sempre in un'app di SDK per app di Windows. Usare invece DispatcherQueue .

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto DispatcherQueue a cui è associato questo oggetto. Rappresenta DispatcherQueue una funzionalità che può accedere al nel thread dell'interfaccia DependencyObject utente anche se il codice viene avviato da un thread non dell'interfaccia utente.

(Ereditato da DependencyObject)
EasingMode

Ottiene o imposta un valore che specifica la modalità di interpolazione dell'animazione.

(Ereditato da EasingFunctionBase)
Oscillations

Ottiene o imposta il numero di diapositive di destinazione avanti e indietro sulla destinazione dell'animazione.

OscillationsProperty

Identifica la proprietà di dipendenza Oscillations .

Springiness

Ottiene o imposta la rigidità della molla. Più piccolo è il valore springiness, più rigida è la molla e più veloce l'elasticità diminuisce di intensità su ogni oscillazione.

SpringinessProperty

Identifica la proprietà di dipendenza Springiness .

Metodi

Nome Descrizione
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
Ease(Double)

Trasforma il tempo normalizzato per controllare il ritmo di un'animazione.

(Ereditato da EasingFunctionBase)
GetAnimationBaseValue(DependencyProperty)

Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva.

(Ereditato da DependencyObject)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale.

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a una dipendenza specifica in questa istanza dependencyObject .

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza in un Oggetto DependencyObject.

(Ereditato da DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback.

(Ereditato da DependencyObject)

Si applica a

Vedi anche