Freigeben über


SplineColorKeyFrame Klasse

Definition

Animiert den Farbwert des vorherigen Keyframes mithilfe einer splineierten Interpolation zu einem eigenen Wert .

public ref class SplineColorKeyFrame sealed : ColorKeyFrame
/// [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 SplineColorKeyFrame final : ColorKeyFrame
/// [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 SplineColorKeyFrame final : ColorKeyFrame
[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 SplineColorKeyFrame : ColorKeyFrame
[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 SplineColorKeyFrame : ColorKeyFrame
Public NotInheritable Class SplineColorKeyFrame
Inherits ColorKeyFrame
<SplineColorKeyFrame .../>
Vererbung
Object Platform::Object IInspectable DependencyObject ColorKeyFrame SplineColorKeyFrame
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

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

  1. Während der 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-Keyframes wie SplineColorKeyFrame erstellen einen Variablenübergang zwischen Werten gemäß den Werten der KeySpline-Eigenschaft . Eine KeySpline bietet eine Möglichkeit, die Beziehung zwischen Zeit und Wert während der Animationsdauer so zu ändern, dass sie nicht linear 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();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
    colorStoryboard.Begin()
End Sub

Hinweise

Keyframe-Animationen lassen mehr als einen Zielwert zu, der an einem gewissen Punkt auf der Animationszeitachse erreicht wird. Anders ausgedrückt kann jeder Keyframe einen anderen Zwischenwert angeben, und der letzte erreichte Keyframe ist der endgültige Animationswert. Durch Angabe mehrerer Animationswerte können Sie komplexere Animationen erstellen. Sie können diskrete, lineare und Spline-Keyframes in derselben Keyframesammlung kombinieren.

Weitere Informationen zur Verwendung von Keyframeanimationen finden Sie unter Keyframeanimationen und Beschleunigungsfunktionsanimationen.

Konstruktoren

SplineColorKeyFrame()

Initialisiert eine neue instance der SplineColorKeyFrame-Klasse.

Eigenschaften

Dispatcher

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

(Geerbt von DependencyObject)
KeySpline

Ruft die beiden Steuerpunkte ab, die den Animationsfortschritt für diesen Keyframe definieren, oder legt diese fest.

KeySplineProperty

Identifiziert die KeySpline-Abhängigkeitseigenschaft .

KeyTime

Ruft den Zeitpunkt ab, zu dem der Zielwert des Keyframes erreicht werden soll, oder legt diese fest.

(Geerbt von ColorKeyFrame)
Value

Ruft den Zielwert des Keyframes ab oder legt ihn fest.

(Geerbt von ColorKeyFrame)

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 eingerichtet wurde, der 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 durch Aufrufen von RegisterPropertyChangedCallback registriert wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen