Condividi tramite


ElasticEase Classe

Definizione

Rappresenta una funzione di interpolazione che crea un'animazione simile a una molla che oscilla avanti e indietro fino ad arrestarsi.

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

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Questo esempio XAML applica una funzione di interpolazione ElasticEase a un DoubleAnimation per creare un'animazione simile a una primavera che oscilla indietro e indietro fino a quando non viene 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();
}
' 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

Commenti

ElasticEase è una delle due funzioni di interpolazione che possono produrre un valore al di fuori dell'intervallo Da/A normale. L'altro è BackEase. Quando inizia la funzione di interpolazione, il valore oscilla positivamente e negativo intorno al valore From finché non raggiunge 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 diagramma tipico del movimento di una primavera. Con valori di Springiness più grandi, è come attenuare il movimento della primavera.

La proprietà Oscillations dichiara il numero di volte in cui la funzione oscilla e attraversa i valori effettivamente inferiori al valore From iniziale.

È possibile ottenere risultati ottimali solo sperimentando con le proprietà Springiness, Oscillations e EasingMode fino a quando l'animazione non esegue visivamente ciò che si desidera per lo 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 all'esterno dell'intervallo From/To . Un altro modo per concettualizzare le due funzioni di interpolazione è che ElasticEase è quello che si potrebbe usare per animare il plucking di una stringa, mentre BounceEase è quello 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 di animazioni From/To/By o alle proprietà EasingFunction dei tipi di fotogrammi chiave usati per le varianti di interpolazione delle animazioni key-frame. Per altre informazioni, vedere Animazioni con fotogrammi chiave e animazioni delle funzioni di interpolazione.

Costruttori

ElasticEase()

Inizializza una nuova istanza della classe ElasticEase .

Proprietà

Dispatcher

Ottiene CoreDispatcher associato a questo oggetto. CoreDispatcher rappresenta una struttura che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non interfaccia utente.

(Ereditato da DependencyObject)
EasingMode

Ottiene o imposta un valore che specifica il modo in cui viene eseguita l'interpolazione dell'animazione.

(Ereditato da EasingFunctionBase)
Oscillations

Ottiene o imposta il numero di volte in cui la destinazione scorre avanti e indietro sulla destinazione dell'animazione.

OscillationsProperty

Identifica la proprietà di dipendenza Oscillations .

Springiness

Ottiene o imposta la rigidità della molla. Minore è il valore di Springiness, più rigida sarà la molla e maggiore sarà l'elasticità diminuendo di intensità a ogni oscillazione.

SpringinessProperty

Identifica la proprietà di dipendenza Springiness .

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
Ease(Double)

Trasforma il tempo normalizzato per controllare la velocità 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 un oggetto DependencyObject.

(Ereditato da DependencyObject)
ReadLocalValue(DependencyProperty)

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

(Ereditato da DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una funzione di notifica per l'ascolto delle modifiche a un'istanza di DependencyObject specifica.

(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