Share via


DoubleAnimationUsingKeyFrames Classe

Definizione

Anima il valore di una proprietà Double lungo un set di fotogrammi chiave.

public ref class DoubleAnimationUsingKeyFrames sealed : Timeline
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
/// [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 DoubleAnimationUsingKeyFrames final : Timeline
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
[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 DoubleAnimationUsingKeyFrames : Timeline
Public NotInheritable Class DoubleAnimationUsingKeyFrames
Inherits Timeline
<DoubleAnimationUsingKeyFrames>
  oneOrMoreDoubleKeyFrames
</DoubleAnimationUsingKeyFrames>
Ereditarietà
Object Platform::Object IInspectable DependencyObject Timeline DoubleAnimationUsingKeyFrames
Attributi

Esempio

L'esempio seguente sposta un rettangolo in una schermata. Nell'esempio viene usata la classe DoubleAnimationUsingKeyFrames per animare la proprietà X di un oggetto TranslateTransform applicato a un Rettangolo. Questa animazione usa tre fotogrammi chiave nel modo seguente:

  1. Durante i primi tre secondi, usa un'istanza della classe LinearDoubleKeyFrame per spostare il rettangolo lungo un percorso a una frequenza costante dalla posizione iniziale alla posizione 500. Fotogrammi chiave lineari come LinearDoubleKeyFrame creano una transizione lineare uniforme tra valori.
  2. Alla fine del quarto secondo, usa un'istanza della classe DiscreteDoubleKeyFrame per spostare improvvisamente il rettangolo nella posizione successiva. Fotogrammi chiave discreti come DiscreteDoubleKeyFrame creano salti improvvisi tra valori. In questo esempio, il rettangolo si trova in corrispondenza della posizione iniziale e improvvisamente appare nella posizione 500.
  3. Negli ultimi due secondi, usa un'istanza della classe SplineDoubleKeyFrame per spostare il rettangolo nella posizione iniziale. I fotogrammi chiave spline come SplineDoubleKeyFrame creano una transizione variabile tra valori in base al valore della proprietà KeySpline . In questo esempio, il rettangolo inizia a spostarsi lentamente e quindi accelera in modo esponenziale verso la fine del segmento temporale.
<StackPanel>
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animate the TranslateTransform's X property
             from 0 to 350, then 50,
             then 200 over 10 seconds. -->
            <DoubleAnimationUsingKeyFrames
          Storyboard.TargetName="MyAnimatedTranslateTransform"
          Storyboard.TargetProperty="X"
          Duration="0:0:10" EnableDependentAnimation="True">

                <!-- Using a LinearDoubleKeyFrame, the rectangle moves 
                 steadily from its starting position to 500 over 
                 the first 3 seconds.  -->
                <LinearDoubleKeyFrame Value="500" KeyTime="0:0:3" />

                <!-- Using a DiscreteDoubleKeyFrame, the rectangle suddenly 
                 appears at 400 after the fourth second of the animation. -->
                <DiscreteDoubleKeyFrame Value="400" KeyTime="0:0:4" />

                <!-- Using a SplineDoubleKeyFrame, the rectangle moves 
                 back to its starting point. The
                 animation starts out slowly at first and then speeds up. 
                 This KeyFrame ends after the 6th
                 second. -->
                <SplineDoubleKeyFrame KeySpline="0.6,0.0 0.9,0.00" Value="0" KeyTime="0:0:6" />

            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </StackPanel.Resources>
    <Rectangle Fill="Blue" Width="50" Height="50" Loaded="Start_Animation">
        <Rectangle.RenderTransform>
            <TranslateTransform x:Name="MyAnimatedTranslateTransform" 
             X="0" Y="0" />
        </Rectangle.RenderTransform>
    </Rectangle>
</StackPanel>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}

Costruttori

DoubleAnimationUsingKeyFrames()

Inizializza una nuova istanza della classe DoubleAnimationUsingKeyFrames .

Proprietà

AutoReverse

Ottiene o imposta un valore che indica se la sequenza temporale viene riprodotta in senso inverso dopo il completamento di un'iterazione in avanti.

(Ereditato da Timeline)
BeginTime

Ottiene o imposta l'ora in cui deve iniziare questa sequenza temporale .

(Ereditato da Timeline)
Dispatcher

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

(Ereditato da DependencyObject)
DispatcherQueue

Ottiene l'oggetto DispatcherQueue associato. Rappresenta DispatcherQueue una struttura che può accedere al thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia DependencyObject utente.

(Ereditato da DependencyObject)
Duration

Ottiene o imposta la durata di riproduzione di questa sequenza temporale, senza contare le ripetizioni.

(Ereditato da Timeline)
EnableDependentAnimation

Ottiene o imposta un valore che dichiara se le proprietà animate considerate animazioni dipendenti devono essere consentite per l'uso di questa dichiarazione di animazione.

EnableDependentAnimationProperty

Identifica la proprietà Di dipendenza EnableDependentAnimation .

FillBehavior

Ottiene o imposta un valore che specifica il comportamento dell'animazione dopo che raggiunge la fine del periodo attivo.

(Ereditato da Timeline)
KeyFrames

Ottiene l'insieme di oggetti DoubleKeyFrame che definiscono l'animazione.

RepeatBehavior

Ottiene o imposta il comportamento di ripetizione della sequenza temporale.

(Ereditato da Timeline)
SpeedRatio

Ottiene o imposta la frequenza, rispetto al relativo elemento padre, in cui viene eseguito lo stato di avanzamento per questa sequenza temporale.

(Ereditato da Timeline)

Metodi

ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà di dipendenza.

(Ereditato da DependencyObject)
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)

Eventi

Completed

Si verifica al termine della riproduzione dell'oggetto Storyboard .

(Ereditato da Timeline)

Si applica a

Vedi anche