Condividi tramite


ColorAnimationUsingKeyFrames Classe

Definizione

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

public ref class ColorAnimationUsingKeyFrames sealed : Timeline
/// [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)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
class ColorAnimationUsingKeyFrames final : Timeline
/// [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.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ColorAnimationUsingKeyFrames final : Timeline
[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)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
public sealed class ColorAnimationUsingKeyFrames : Timeline
[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.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ColorAnimationUsingKeyFrames : Timeline
Public NotInheritable Class ColorAnimationUsingKeyFrames
Inherits Timeline
<ColorAnimationUsingKeyFrames ...>
  oneOrMoreColorKeyFrames
</ColorAnimationUsingKeyFrames>
Ereditarietà
Object Platform::Object IInspectable DependencyObject Timeline ColorAnimationUsingKeyFrames
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

Nell'esempio seguente viene usata la classe ColorAnimationUsingKeyFrames per animare la proprietà Background di uno StackPanel. Questa animazione usa tre fotogrammi chiave nel modo seguente:

  1. Durante i primi due secondi, LinearColorKeyFrame modifica gradualmente il colore da verde a rosso. Fotogrammi chiave lineari come LinearColorKeyFrame creano una transizione lineare uniforme tra valori.
  2. Durante la fine della seconda metà successiva , DiscreteColorKeyFrame cambia rapidamente il colore da rosso a giallo. Fotogrammi chiave discreti come DiscreteColorKeyFrame creano modifiche improvvise tra i valori; l'animazione si verifica rapidamente e non ha alcuna interpolazione tra valori.
  3. Durante i due secondi finali, SplineColorKeyFrame cambia di nuovo il colore, questa volta dal giallo al verde. I fotogrammi chiave spline come SplineColorKeyFrame creano una transizione variabile tra valori in base ai valori della proprietà KeySpline . Una keySpline consente di modificare la relazione di tempo rispetto al valore durante la durata dell'animazione da non lineare e in particolare la relazione può essere una curva che sarebbe difficile produrre con singoli fotogrammi chiave. In questo esempio, il cambio di colore inizia lentamente, quindi accelera in modo esponenziale verso la fine del segmento temporale.
<StackPanel x:Name="myStackPanel" Background="Red"
Loaded="Start_Animation">
    <StackPanel.Resources>
        <Storyboard x:Name="colorStoryboard">

            <ColorAnimationUsingKeyFrames Storyboard.TargetName="myStackPanel" 
      Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)">
                
                <!-- Go from green to red in the first 2 seconds. LinearColorKeyFrame creates
                a smooth, linear animation between values. -->
                <LinearColorKeyFrame Value="Blue" KeyTime="00:00:02" />

                <!-- In the next half second, go to yellow. DiscreteColorKeyFrame creates a 
                sudden jump between values. -->
                <DiscreteColorKeyFrame Value="Yellow" KeyTime="00:00:2.5" />

                <!-- In the final 2 seconds of the animation, go from yellow back to green. SplineColorKeyFrame 
                creates a variable transition between values depending on the KeySpline property. In this example,
                the animation starts off slow but toward the end of the time segment, it speeds up exponentially.-->
                <SplineColorKeyFrame Value="Green" KeyTime="00:00:4.5" KeySpline="0.6,0.0 0.9,0.00" />

            </ColorAnimationUsingKeyFrames>
        </Storyboard>
    </StackPanel.Resources>
</StackPanel>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    colorStoryboard.Begin();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
    colorStoryboard.Begin()
End Sub

Costruttori

ColorAnimationUsingKeyFrames()

Inizializza una nuova istanza della classe ColorAnimationUsingKeyFrames .

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

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)
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 ColorKeyFrame 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