Condividi tramite


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 : System::Windows::Media::Animation::EasingFunctionBase
public class ElasticEase : System.Windows.Media.Animation.EasingFunctionBase
type ElasticEase = class
    inherit EasingFunctionBase
Public Class ElasticEase
Inherits EasingFunctionBase
Ereditarietà

Esempio

Nell'esempio seguente viene applicata una ElasticEase funzione di interpolazione a un DoubleAnimation oggetto per creare un'animazione simile a una molla che oscilla avanti e indietro fino a quando non arriva a riposo.

<Rectangle Name="myRectangle" Width="200" Height="30" Fill="Blue">
    <Rectangle.Triggers>
        <EventTrigger RoutedEvent="Rectangle.MouseDown">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation From="30" To="200" Duration="00:00:4" 
                     Storyboard.TargetName="myRectangle" 
                     Storyboard.TargetProperty="Height">
                        <DoubleAnimation.EasingFunction>
                            
                            <!-- Elastic easing function assigned to From/To animation -->
                            <ElasticEase x:Name="myElasticEase" Oscillations="3" 
                             Springiness="1" EasingMode="EaseOut"/>
                        </DoubleAnimation.EasingFunction>
                    </DoubleAnimation>

                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Rectangle.Triggers>

</Rectangle>

Commenti

È possibile controllare quando si verifica il comportamento "spring" in un'animazione specificando il valore della EasingMode proprietà. Il grafico seguente illustra i diversi valori di , dove f(t) rappresenta lo stato di EasingModeavanzamento dell'animazione e t rappresenta l'ora.

ElasticEase con grafici di interpolazione diversi.

Puoi specificare quante volte l'animazione oscilla avanti e indietro usando la Oscillations proprietà e la tenuta della molla delle oscillazioni usando la Springiness proprietà .

Annotazioni

Poiché questa animazione fa oscillare i valori in modo imprevisto, l'animazione potrebbe interpolare in numeri negativi in modo imprevisto. Ciò può causare errori durante l'animazione di proprietà che non consentono numeri negativi. Ad esempio, se applichi questa animazione a Height di un oggetto (ad esempio da 0 a 200 con un EasingMode di EaseIn), l'animazione tenterà di interpolare i numeri negativi per Height i quali genererà un errore.

Sono disponibili diverse altre funzioni di interpolazione oltre ElasticEasea . Oltre a usare le funzioni di interpolazione incluse nel runtime, è possibile creare funzioni di interpolazione personalizzate ereditando da EasingFunctionBase.

Utilizzo dell'elemento oggetto XAML

<ElasticEase .../>

Costruttori

Nome Descrizione
ElasticEase()

Inizializza una nuova istanza della classe ElasticEase.

Campi

Nome Descrizione
OscillationsProperty

Identifica la Oscillations proprietà di dipendenza.

SpringinessProperty

Identifica la Springiness proprietà di dipendenza.

Proprietà

Nome Descrizione
CanFreeze

Ottiene un valore che indica se l'oggetto può essere reso non modificabile.

(Ereditato da Freezable)
DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto DispatcherDispatcherObject a cui è associato.

(Ereditato da DispatcherObject)
EasingMode

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

(Ereditato da EasingFunctionBase)
IsFrozen

Ottiene un valore che indica se l'oggetto è attualmente modificabile.

(Ereditato da Freezable)
IsSealed

Ottiene un valore che indica se questa istanza è attualmente sealed (sola lettura).

(Ereditato da DependencyObject)
Oscillations

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

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.

Metodi

Nome Descrizione
CheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare viene specificata da un DependencyProperty identificatore.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare viene specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
Clone()

Crea un clone modificabile dell'oggetto Freezable, eseguendo copie complete dei valori dell'oggetto. Quando si copiano le proprietà di dipendenza dell'oggetto, questo metodo copia le espressioni (che potrebbero non essere più risolte) ma non le animazioni o i relativi valori correnti.

(Ereditato da Freezable)
CloneCore(Freezable)

Rende l'istanza un clone (copia completa) dell'oggetto specificato Freezable usando valori di proprietà di base (non animati).

(Ereditato da Freezable)
CloneCurrentValue()

Crea un clone modificabile (copia completa) dell'oggetto Freezable utilizzando i relativi valori correnti.

(Ereditato da Freezable)
CloneCurrentValueCore(Freezable)

Rende l'istanza un clone modificabile (copia completa) dell'oggetto specificato Freezable utilizzando i valori delle proprietà correnti.

(Ereditato da Freezable)
CoerceValue(DependencyProperty)

Forza il valore della proprietà di dipendenza specificata. A tale scopo, richiamare qualsiasi CoerceValueCallback funzione specificata nei metadati della proprietà per la proprietà di dipendenza così come esiste nella chiamata DependencyObjectdi .

(Ereditato da DependencyObject)
CreateInstance()

Inizializza una nuova istanza della classe Freezable.

(Ereditato da Freezable)
CreateInstanceCore()

Crea una nuova istanza della Freezable classe derivata. Quando si crea una classe derivata, è necessario eseguire l'override di questo metodo.

Ease(Double)

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

(Ereditato da EasingFunctionBase)
EaseInCore(Double)

Fornisce la parte logica della funzione di interpolazione di cui è possibile eseguire l'override per produrre la EaseIn modalità della funzione di interpolazione personalizzata.

Equals(Object)

Determina se un oggetto specificato DependencyObject è equivalente all'oggetto corrente DependencyObject.

(Ereditato da DependencyObject)
Freeze()

Rende l'oggetto corrente non modificabile e imposta la relativa IsFrozen proprietà su true.

(Ereditato da Freezable)
FreezeCore(Boolean)

Rende l'oggetto Freezable non modificabile o verifica se può essere reso non modificabile.

(Ereditato da Freezable)
GetAsFrozen()

Crea una copia bloccata della proprietà , utilizzando i valori della Freezableproprietà base (non animati). Poiché la copia è bloccata, tutti gli oggetti secondari bloccati vengono copiati in base al riferimento.

(Ereditato da Freezable)
GetAsFrozenCore(Freezable)

Rende l'istanza un clone bloccato dell'oggetto specificato Freezable utilizzando valori di proprietà di base (non animati).

(Ereditato da Freezable)
GetCurrentValueAsFrozen()

Crea una copia bloccata dell'oggetto utilizzando i valori correnti delle Freezable proprietà. Poiché la copia è bloccata, tutti gli oggetti secondari bloccati vengono copiati in base al riferimento.

(Ereditato da Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Rende l'istanza corrente un clone bloccato dell'oggetto specificato Freezable. Se l'oggetto ha proprietà di dipendenza animate, i valori animati correnti vengono copiati.

(Ereditato da Freezable)
GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare quali proprietà di dipendenza hanno valori impostati localmente in questo DependencyObjectoggetto .

(Ereditato da DependencyObject)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di un oggetto DependencyObject.

(Ereditato da DependencyObject)
InvalidateProperty(DependencyProperty)

Rivaluta il valore effettivo per la proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnChanged()

Chiamato quando l'oggetto corrente Freezable viene modificato.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Questo membro supporta l'infrastruttura di Windows Presentation Foundation (WPF) e non deve essere usato direttamente dal codice.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assicura che vengano stabiliti puntatori di contesto appropriati per un DependencyObjectType membro dati appena impostato.

(Ereditato da Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Esegue l'override dell'implementazione DependencyObject di OnPropertyChanged(DependencyPropertyChangedEventArgs) per richiamare anche i Changed gestori in risposta a una proprietà di dipendenza modificata di tipo Freezable.

(Ereditato da Freezable)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
ReadPreamble()

Assicura che l'oggetto Freezable sia accessibile da un thread valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che legge i membri dati che non sono proprietà di dipendenza.

(Ereditato da Freezable)
SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificarne l'origine del valore.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dall'identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore per la proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
WritePostscript()

Genera l'evento Changed per Freezable e richiama il relativo OnChanged() metodo. Le classi che derivano da Freezable devono chiamare questo metodo alla fine di qualsiasi API che modifica i membri della classe non archiviati come proprietà di dipendenza.

(Ereditato da Freezable)
WritePreamble()

Verifica che l'oggetto Freezable non sia bloccato e che sia accessibile da un contesto di threading valido. Freezable Gli eredi devono chiamare questo metodo all'inizio di qualsiasi API che scrive nei membri dati che non sono proprietà di dipendenza.

(Ereditato da Freezable)

Eventi

Nome Descrizione
Changed

Si verifica quando l'oggetto Freezable o un oggetto che contiene viene modificato.

(Ereditato da Freezable)

Si applica a

Vedi anche