DoubleAnimationUsingKeyFrames Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Animiert den Wert einer Double-Eigenschaft entlang einer Reihe von Keyframes.
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>
- Vererbung
- Attribute
Beispiele
Im folgenden Beispiel wird ein Rechteck über den Bildschirm bewegt. Im Beispiel wird die DoubleAnimationUsingKeyFrames-Klasse verwendet, um die X-Eigenschaft einer TranslateTransform zu animieren, die auf ein Rectangle angewendet wird. In dieser Animation werden drei Keyframes folgendermaßen verwendet:
- In den ersten drei Sekunden wird ein instance der LinearDoubleKeyFrame-Klasse verwendet, um das Rechteck mit gleichmäßiger Geschwindigkeit von seiner Startposition zur Position 500 entlang eines Pfads zu verschieben. Lineare Keyframes wie LinearDoubleKeyFrame sorgen für einen reibungslosen linearen Übergang zwischen Werten.
- Am Ende der vierten Sekunde wird ein instance der DiscreteDoubleKeyFrame-Klasse verwendet, um das Rechteck plötzlich an die nächste Position zu verschieben. Diskrete Keyframes wie DiscreteDoubleKeyFrame erzeugen plötzliche Sprünge zwischen Werten. In diesem Beispiel befindet sich das Rechteck an der Startposition und wird anschließend plötzlich an der Position 500 angezeigt.
- In den letzten zwei Sekunden wird ein instance der SplineDoubleKeyFrame-Klasse verwendet, um das Rechteck wieder an seine Startposition zu verschieben. Spline-Keyframes wie SplineDoubleKeyFrame erstellen einen Variablenübergang zwischen Werten gemäß dem Wert der KeySpline-Eigenschaft . In diesem Beispiel bewegt sich das Rechteck zunächst langsam und beschleunigt dann exponentiell im letzten Bereich des Zeitabschnitts.
<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();
}
Konstruktoren
DoubleAnimationUsingKeyFrames() |
Initialisiert eine neue instance der DoubleAnimationUsingKeyFrames-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ück |
DispatcherQueue |
Ruft den |
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 der DoubleKeyFrame-Objekte 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) |