Freigeben über


ColorAnimationUsingKeyFrames Klasse

Definition

Animiert den Wert einer Color-Eigenschaft entlang einer Reihe von Keyframes.

public ref class ColorAnimationUsingKeyFrames 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 ColorAnimationUsingKeyFrames 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 ColorAnimationUsingKeyFrames : Timeline
Public NotInheritable Class ColorAnimationUsingKeyFrames
Inherits Timeline
<ColorAnimationUsingKeyFrames ...>
  oneOrMoreColorKeyFrames
</ColorAnimationUsingKeyFrames>
Vererbung
Object Platform::Object IInspectable DependencyObject Timeline ColorAnimationUsingKeyFrames
Attribute

Beispiele

Im folgenden Beispiel wird die ColorAnimationUsingKeyFrames-Klasse verwendet, um die Background-Eigenschaft eines StackPanel zu animieren. In dieser Animation werden drei Keyframes folgendermaßen verwendet:

  1. In den ersten zwei Sekunden ändert LinearColorKeyFrame die Farbe schrittweise von grün in rot. Lineare Keyframes wie LinearColorKeyFrame sorgen für einen reibungslosen linearen Übergang zwischen Werten.
  2. Am Ende der nächsten halben Sekunde ändert DiscreteColorKeyFrame die Farbe schnell von Rot in Gelb. Diskrete Keyframes wie DiscreteColorKeyFrame erzeugen plötzliche Änderungen zwischen Werten. die Animation erfolgt schnell und hat überhaupt keine Interpolation zwischen Werten.
  3. Während der letzten zwei Sekunden ändert SplineColorKeyFrame die Farbe erneut, diesmal von gelb zurück in grün. Spline-Schlüsselrahmen wie SplineColorKeyFrame erstellen einen Variablenübergang zwischen Werten gemäß den Werten der KeySpline-Eigenschaft . Ein KeySpline bietet eine Möglichkeit, die Beziehung zwischen Zeit und Wert während der Animationsdauer so zu ändern, dass sie nichtlinear ist, und insbesondere die Beziehung kann eine Kurve sein, die mit einzelnen Keyframes schwer zu erzeugen wäre. In diesem Beispiel beginnt die Farbveränderung zunächst langsam und beschleunigt dann exponentiell im letzten Bereich des Zeitabschnitts.
<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();
}

Konstruktoren

ColorAnimationUsingKeyFrames()

Initialisiert eine neue instance der ColorAnimationUsingKeyFrames-Klasse.

Eigenschaften

AutoReverse

Ruft einen Wert ab, der angibt, ob die Zeitachse nach einem vollständigen Durchgang vorwärts in umgekehrter Reihenfolge abspielt.

(Geerbt von Timeline)
BeginTime

Ruft den Zeitpunkt ab, zu dem diese Zeitachse beginnen soll, oder legt diese fest.

(Geerbt von Timeline)
Dispatcher

Gibt immer in einer Windows App SDK-App zurücknull. Verwenden Sie stattdessen DispatcherQueue .

(Geerbt von DependencyObject)
DispatcherQueue

Ruft den DispatcherQueue ab, dem dieses Objekt zugeordnet ist. Stellt DispatcherQueue eine Funktion dar, die auf den DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
Duration

Ruft die Zeitdauer ab, für die diese Zeitachse wiedergegeben wird, ohne Wiederholungen, oder legt diese fest.

(Geerbt von Timeline)
EnableDependentAnimation

Ruft einen Wert ab, der deklariert, ob animierte Eigenschaften, die als abhängige Animationen gelten, diese Animationsdeklaration verwenden dürfen, oder legt diesen wert fest.

EnableDependentAnimationProperty

Gibt die Abhängigkeitseigenschaft EnableDependentAnimation an.

FillBehavior

Ruft einen Wert ab, der angibt, wie sich die Animation verhält, nachdem sie das Ende ihres aktiven Zeitraums erreicht hat, oder legt diesen fest.

(Geerbt von Timeline)
KeyFrames

Ruft die Auflistung von ColorKeyFrame-Objekten ab, die die Animation definieren.

RepeatBehavior

Ruft das Wiederholungsverhalten dieser Zeitachse ab oder legt es fest.

(Geerbt von Timeline)
SpeedRatio

Ruft die Rate im Verhältnis zu ihrem übergeordneten Element ab, zu dem die Zeit für diese Zeitachse voranschreitet, oder legt diese fest.

(Geerbt von Timeline)

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Ereignisse

Completed

Tritt auf, wenn die Wiedergabe des Storyboard-Objekts abgeschlossen ist.

(Geerbt von Timeline)

Gilt für:

Weitere Informationen