ElasticEase Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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) |