Teilen über


Timeline Klasse

Definition

Definiert einen Zeitabschnitt.

public ref class Timeline abstract : System::Windows::Media::Animation::Animatable
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public abstract class Timeline : System.Windows.Media.Animation.Animatable
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type Timeline = class
    inherit Animatable
Public MustInherit Class Timeline
Inherits Animatable
Vererbung
Abgeleitet
Attribute

Hinweise

Eine Zeitachse stellt ein Zeitsegment dar. Sie bietet Eigenschaften, mit denen Sie z.B. die Länge dieses Abschnitts, seinen Start, die Anzahl der Wiederholungen und die Geschwindigkeit des Fortschreitens der Zeit im Abschnitt Segment angeben.

Klassen, die von der Timeline-Klasse erben, bieten zusätzliche Funktionen, wie z.B. Animation und Medienwiedergabe. Im Folgenden finden Sie Beispiele für einige der verschiedenen Arten von spezialisierten Zeitachsen, die verfügbar sind.

Weitere Informationen zur Verwendung von Zeitachsen finden Sie in der Animationsübersicht. Eine Einführung in die Zeitsteuerungsfeatures von Zeitachsen finden Sie unter Übersicht über das Timingverhalten.

Datenbindung und Animieren von Zeitachsen

Die meisten Zeitachseneigenschaften können datengebunden oder animiert sein. aufgrund der Funktionsweise des Zeitsteuerungssystems verhalten sich datengebundene oder animierte Zeitachsen jedoch nicht wie andere datengebundene oder animierte Objekte. Um ihr Verhalten zu verstehen, hilft es, zu verstehen, was es bedeutet, eine Zeitachse zu aktivieren.

Wenn eine Zeitachse angewendet wird, werden Kopien der Zeitachse und der untergeordneten Zeitachsen erstellt. Diese Kopien werden eingefroren (schreibgeschützt) und daraus werden Clock-Objekte erstellt. Es sind diese Uhren, die die eigentliche Arbeit der Animierung der Zieleigenschaften erledigen. Wenn eine Zeitachse datengebunden oder animiert war, wurde beim Erstellen der Uhr eine Momentaufnahme der aktuellen Werte erstellt. Auch wenn sich die ursprüngliche Zeitachse möglicherweise weiterhin ändert, ist die Uhr nicht der Fall.

Damit eine Zeitachse Datenbindungs- oder Animationsänderungen widerspiegelt, muss die Uhr neu generiert werden. Uhren werden nicht automatisch neu generiert. Im Folgenden werden verschiedene Methoden beschrieben, wie Änderungen der Zeitachse übernommen werden können:

  • Wenn die Zeitleiste eineStoryboard ist oder zu einer gehört, können Sie Änderungen vornehmen, indem Sie das Storyboard mit einer BeginStoryboard- oder der Begin-Methode erneut anwenden. Dies hat den Nebeneffekt, dass auch die Animation neu gestartet wird. Im Code können Sie die Seek-Methode verwenden, um das Storyboard wieder an seine vorherige Position zu verschieben.

  • Wenn Sie mithilfe der BeginAnimation -Methode eine Animation direkt auf eine Eigenschaft angewendet haben, rufen Sie die BeginAnimation Methode erneut auf, und übergeben Sie sie an die Animation, die geändert wurde.

  • Wenn Sie direkt auf der Uhrebene arbeiten, erstellen Sie einen neuen Satz von Uhren, und verwenden sie diese, um den zuvor generierten Satz von Uhren zu ersetzen.

Ein Beispiel für eine datengebundene Animation finden Sie unter Key Spline Animation Sample .

Verwenden einer Zeitachse als Timer

Die Uhr einer Zeitachse wird nur dann fortgesetzt, wenn ihr ein Ereignishandler zugeordnet ist oder (im Fall eines AnimationClock Objekts) er einer Eigenschaft zugeordnet ist. Aus diesem Grund (und anderen) wird nicht empfohlen, einen Timeline als Timer zu verwenden.

Konstruktoren

Timeline()

Initialisiert eine neue Instanz der Timeline-Klasse.

Timeline(Nullable<TimeSpan>)

Initialisiert eine neue Instanz der Timeline-Klasse mit der angegebenen BeginTime.

Timeline(Nullable<TimeSpan>, Duration)

Initialisiert eine neue Instanz der Timeline-Klasse mit den angegebenen BeginTime und dem angegebenen Duration.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

Initialisiert eine neue Instanz der Timeline-Klasse mit der angegebenen BeginTime, der angegebenen Duration und der angegebenen RepeatBehavior.

Felder

AccelerationRatioProperty

Bezeichnet die AccelerationRatio-Abhängigkeitseigenschaft.

AutoReverseProperty

Bezeichnet die AutoReverse-Abhängigkeitseigenschaft.

BeginTimeProperty

Bezeichnet die BeginTime-Abhängigkeitseigenschaft.

DecelerationRatioProperty

Bezeichnet für die DecelerationRatio-Abhängigkeitseigenschaft.

DesiredFrameRateProperty

Bezeichnet die angefügte DesiredFrameRate-Eigenschaft.

DurationProperty

Bezeichnet die Duration-Abhängigkeitseigenschaft.

FillBehaviorProperty

Bezeichnet die FillBehavior-Abhängigkeitseigenschaft.

NameProperty

Bezeichnet die Name-Abhängigkeitseigenschaft.

RepeatBehaviorProperty

Bezeichnet die RepeatBehavior-Abhängigkeitseigenschaft.

SpeedRatioProperty

Bezeichnet für die SpeedRatio-Abhängigkeitseigenschaft.

Eigenschaften

AccelerationRatio

Ruft einen Wert ab oder legt diesen fest, der den Prozentsatz der Duration der Zeitachse angibt, der für die Beschleunigung des Zeitverlaufs von null bis zur maximalen Rate aufgewendet wird.

AutoReverse

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

BeginTime

Ruft die Uhrzeit ab oder legt sie fest, bei der diese Timeline beginnen soll.

CanFreeze

Ruft einen Wert ab, der anzeigt, ob das Objekt als nicht änderbar festgelegt werden kann.

(Geerbt von Freezable)
DecelerationRatio

Ruft einen Wert ab oder legt diesen fest, der den Prozentsatz der Duration der Zeitachse angibt, der für die Verlangsamung des Zeitverlaufs von der maximalen Rate auf null aufgewendet wird.

DependencyObjectType

Ruft den DependencyObjectType ab, der den CLR-Typ dieser Instanz umschließt.

(Geerbt von DependencyObject)
Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
Duration

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

FillBehavior

Ruft einen Wert ab oder legt einen Wert fest, der angibt, wie sich Timeline verhält, wenn das Ende des aktiven Zeitraums erreicht wurde.

HasAnimatedProperties

Ruft einen Wert ab, der angibt, ob einer der Abhängigkeitseigenschaften dieses Objekts ein oder mehrere AnimationClock-Objekte zugeordnet sind.

(Geerbt von Animatable)
IsFrozen

Ruft einen Wert ab, der angibt, ob das Objekt derzeit geändert werden kann.

(Geerbt von Freezable)
IsSealed

Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist.

(Geerbt von DependencyObject)
Name

Ruft den Namen dieser Timeline ab oder legt diesen fest.

RepeatBehavior

Ruft das Wiederholungsverhalten dieser Zeitachse ab oder legt es fest.

SpeedRatio

Ruft die Geschwindigkeit ab, mit der die Zeit für diese Timeline, relativ zum übergeordneten Element, verläuft, oder legt diese fest.

Angefügte Eigenschaften

DesiredFrameRate

Ruft die gewünschte Einzelbildrate für diese Zeitachse und deren untergeordnete Zeitachsen ab oder legt diese fest.

Methoden

AllocateClock()

Erstellt eine Clock für diese Timeline.

ApplyAnimationClock(DependencyProperty, AnimationClock)

Wendet einen AnimationClock auf die angegebene DependencyProperty an. Wenn die Eigenschaft bereits animiert wird, wird das SnapshotAndReplace-Übergabeverhalten verwendet.

(Geerbt von Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Wendet einen AnimationClock auf die angegebene DependencyProperty an. Wenn die Eigenschaft bereits animiert wird, wird das angegebene HandoffBehavior verwendet.

(Geerbt von Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Wendet eine Animation auf die angegebene DependencyProperty an. Die Animation wird gestartet, wenn der nächste Frame gerendert wird. Wenn die angegebene Eigenschaft bereits animiert wird, wird das SnapshotAndReplace-Übergabeverhalten verwendet.

(Geerbt von Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Wendet eine Animation auf die angegebene DependencyProperty an. Die Animation wird gestartet, wenn der nächste Frame gerendert wird. Wenn die angegebene Eigenschaft bereits animiert wird, wird das angegebene HandoffBehavior verwendet.

(Geerbt von Animatable)
CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben.

(Geerbt von DependencyObject)
ClearValue(DependencyPropertyKey)

Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben.

(Geerbt von DependencyObject)
Clone()

Erstellt einen änderbaren Klon dieser Timeline, indem tiefe Kopien der Werte dieses Objekts erzeugt werden.

CloneCore(Freezable)

Definiert die Instanz als Klon (tiefe Kopie) des angegebenen Freezable-Elements, indem Basiseigenschaftenwerte (nicht animiert) verwendet werden.

(Geerbt von Freezable)
CloneCurrentValue()

Erstellt einen änderbaren Klon des Timeline-Objekts, indem tiefe Kopien der aktuellen Werte dieses Objekts erzeugt werden.

CloneCurrentValueCore(Freezable)

Macht die Instanz mithilfe aktueller Eigenschaftswerte zu einem Klon (tiefe Kopie) des angegebenen Freezable-Elements, der geändert werden kann.

(Geerbt von Freezable)
CoerceValue(DependencyProperty)

Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird.

(Geerbt von DependencyObject)
CreateClock()

Erstellt eine neue, steuerbare Clock aus dieser Timeline. Wenn diese Timeline untergeordnete Elemente besitzt, wird eine Struktur von Uhren mit dieser Timeline als Stamm erstellt.

CreateClock(Boolean)

Erstellt anhand dieser Clock eine neue Timeline und gibt an, ob die neue Clock steuerbar ist. Wenn diese Timeline untergeordnete Elemente besitzt, wird eine Struktur von Uhren mit dieser Timeline als Stamm erstellt.

CreateInstance()

Initialisiert eine neue Instanz der Freezable-Klasse.

(Geerbt von Freezable)
CreateInstanceCore()

Erstellt beim Implementieren in einer abgeleiteten Klasse eine neue Instanz der abgeleiteten Freezable-Klasse.

(Geerbt von Freezable)
Equals(Object)

Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht.

(Geerbt von DependencyObject)
Freeze()

Definiert das aktuelle Objekt als nicht änderbar und legt seine IsFrozen-Eigenschaft auf true fest.

(Geerbt von Freezable)
FreezeCore(Boolean)

Legt diese Timeline als nicht änderbar fest oder bestimmt, ob diese als nicht änderbar festgelegt werden kann.

GetAnimationBaseValue(DependencyProperty)

Gibt den nicht animierten Wert der angegebenen DependencyProperty zurück.

(Geerbt von Animatable)
GetAsFrozen()

Erstellt eine fixierte Kopie von Freezable mit Basiseigenschaftswerten (nicht animiert). Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.

(Geerbt von Freezable)
GetAsFrozenCore(Freezable)

Macht diese Instanz zu einem Klon des angegebenen Timeline-Objekts.

GetCurrentValueAsFrozen()

Erstellt eine fixierte Kopie von Freezable mit aktuellen Eigenschaftswerten. Da die Kopie fixiert ist, werden alle fixierten Unterobjekte als Verweis kopiert.

(Geerbt von Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Macht diese Instanz zu einem fixierten Klon des angegebenen Timeline-Objekts. Ressourcenverweise, Datenbindungen und Animationen werden nicht kopiert, ihre aktuellen Werte werden jedoch kopiert.

GetDesiredFrameRate(Timeline)

Ruft die gewünschte Einzelbildrate der angegebenen Timeline ab.

GetHashCode()

Ruft einen Hashcode für diese DependencyObject ab.

(Geerbt von DependencyObject)
GetLocalValueEnumerator()

Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.

(Geerbt von DependencyObject)
GetNaturalDuration(Clock)

Gibt die Länge einer einzelnen Iteration der Timeline zurück.

GetNaturalDurationCore(Clock)

Gibt die Länge einer einzelnen Iteration der Timeline zurück. Diese Methode stellt die Implementierung für GetNaturalDuration(Clock) bereit.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück.

(Geerbt von DependencyObject)
InvalidateProperty(DependencyProperty)

Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus.

(Geerbt von DependencyObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnChanged()

Wird aufgerufen, wenn das aktuelle Freezable-Objekt geändert wird.

(Geerbt von Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Stellt sicher, dass entsprechende Kontextzeiger für einen gerade festgelegten DependencyObjectType-Datenmember eingerichtet werden.

(Geerbt von Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Dieses Element unterstützt die WPF-Infrastruktur (Windows Presentation Foundation) und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Überschreibt die DependencyObject-Implementierung von OnPropertyChanged(DependencyPropertyChangedEventArgs), damit in Reaktion auf eine geänderte Abhängigkeitseigenschaft des Typs Freezable auch Changed-Handler aufgerufen werden.

(Geerbt von Freezable)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist.

(Geerbt von DependencyObject)
ReadPreamble()

Stellt sicher, dass über einen gültigen Thread auf Freezable zugegriffen wird. Vererber von Freezable müssen diese Methode am Anfang jeder API aufrufen, die Datenmember liest, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.

(Geerbt von Freezable)
SetCurrentValue(DependencyProperty, Object)

Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern.

(Geerbt von DependencyObject)
SetDesiredFrameRate(Timeline, Nullable<Int32>)

Legt die gewünschte Einzelbildrate der angegebenen Timeline fest.

SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist.

(Geerbt von DependencyObject)
SetValue(DependencyPropertyKey, Object)

Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist.

(Geerbt von DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.

(Geerbt von DependencyObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
WritePostscript()

Löst das Changed-Ereignis für das Freezable-Objekt aus und ruft dessen OnChanged()-Methode auf. Klassen, die aus Freezable abgeleitet werden, sollten diese Methode am Ende jeder API aufrufen, die Klassenmember ändert, die nicht als Abhängigkeitseigenschaften gespeichert sind.

(Geerbt von Freezable)
WritePreamble()

Stellt sicher, dass das Freezable nicht fixiert ist und dass über einen gültigen Threadkontext darauf zugegriffen wird. Vererber von Freezable sollten diese Methode am Anfang jeder API aufrufen, die Datenmember schreibt, bei denen es sich nicht um Abhängigkeitseigenschaften handelt.

(Geerbt von Freezable)

Ereignisse

Changed

Tritt auf, wenn Freezable oder ein darin enthaltenes Objekt geändert wird.

(Geerbt von Freezable)
Completed

Tritt auf, wenn die Wiedergabe dieser Zeitachse vollständig beendet wurde, d. h., diese nicht mehr in den aktiven Zeitraum wechselt.

CurrentGlobalSpeedInvalidated

Tritt auf wenn die Geschwindigkeit geändert wird, mit der die Zeit für die Uhr der Zeitachse verläuft.

CurrentStateInvalidated

Tritt ein, wenn die CurrentState-Eigenschaft der Clock der Zeitachse aktualisiert wird.

CurrentTimeInvalidated

Tritt ein, wenn die CurrentTime-Eigenschaft der Clock der Zeitachse aktualisiert wird.

RemoveRequested

Tritt auf, wenn die für diese Zeitachse erstellte Uhr oder eine der übergeordneten Zeitachsen entfernt wird.

Gilt für:

Weitere Informationen