Freigeben über


Clock Klasse

Definition

Verwaltet den Laufzeitzustand der zeitlichen Steuerung für eine Timeline.

public ref class Clock : System::Windows::Threading::DispatcherObject
public class Clock : System.Windows.Threading.DispatcherObject
type Clock = class
    inherit DispatcherObject
Public Class Clock
Inherits DispatcherObject
Vererbung
Abgeleitet

Hinweise

Ein Timeline, sich eigentlich lediglich einen Zeitabschnitt beschreibt. Es ist das Objekt der Zeitachse Clock , das die eigentliche Arbeit ausführt: Es behält den Zeitdauerzustand für die Zeitachse bei.

In den meisten Fällen wird automatisch eine Uhr für Ihre Zeitachse erstellt. Wenn Sie mithilfe einer Storyboard oder der BeginAnimation Methode animieren, werden Uhren automatisch für Ihre Zeitachsen und Animationen erstellt und auf ihre gezielten Eigenschaften angewendet. Beispiele finden Sie unter How to: Animate a property by using a Storyboard and How to: Animate a property without using a Storyboard.

Sie können auch eine Clock explizite Erstellung mithilfe der CreateClock Methode erstellen. In rechenintensiven Szenarios, z. B. Animieren einer großen Anzahl ähnlicher Objekte verwalten Ihre eigenen Clock verwenden, kann Leistungsvorteile bieten.

Uhren werden in Bäumen angeordnet, die der Struktur der Objektstruktur entsprechen, aus der Timeline sie erstellt werden. Die Stammuhr einer solchen Timing-Struktur kann interaktiv bearbeitet werden (angehalten, fortgesetzt, angehalten, angehalten usw.), indem sie dessen Controllerabrufen. Nicht-Stammuhren können nicht direkt gesteuert werden.

Nach der Erstellung kann eine Uhr nicht geändert werden (aber sie kann bearbeitet werden).

Verwenden einer Zeitachse als Timer

Die Uhr einer Zeitachse wird nur dann ausgeführt, wenn ein ereignishandler vorhanden ist, der damit verknüpft ist oder (im Falle eines AnimationClock Objekts) einer Eigenschaft zugeordnet ist. Aus diesem Grund (und andere) wird nicht empfohlen, einen Zeitgeber zu verwenden Timeline .

Hinweise für Vererber

Abgeleitete Klassen sollten implementiert werden GetCurrentTimeCore() , wenn sie die Zeitflüsse für diese Uhr ändern möchten. Abgeleitete Klassen können vorgenommen werden, um zusätzliche Arbeit zu erledigen, wenn die Uhr wiederholt, überspringt, sucht, beginnt, angehalten, fortgesetzt oder stoppt, indem sie die DiscontinuousTimeMovement()SpeedChanged(), und Stopped() Methoden außer Kraft setzen.

Konstruktoren

Clock(Timeline)

Initialisiert eine neue Instanz der Clock-Klasse unter Verwendung der angegebenen Timeline als Vorlage. Das neue Clock-Objekt verfügt über keine untergeordneten Elemente.

Eigenschaften

Controller

Ruft einen ClockController ab, der zum Starten, Anhalten, Fortsetzen, Suchen, Überspringen, Beenden oder Entfernen dieser Clock verwendet werden kann.

CurrentGlobalSpeed

Ruft die Rate ab, mit der die Zeit einer Uhr gegenwärtig im Verhältnis zur tatsächlichen Zeit fortschreitet.

CurrentGlobalTime

Ruft die aktuelle globale Zeit ab, wie vom WPF-Zeitgebersystem festgelegt.

CurrentIteration

Ruft die aktuelle Iteration dieser Uhr ab.

CurrentProgress

Ruft den aktuellen Status dieser Clock innerhalb der aktuellen Iteration ab.

CurrentState

Ruft einen Wert ab, der angibt, ob die Uhr aktuell Active, Filling oder Stopped ist.

CurrentTime

Ruft die aktuelle Zeit dieser Uhr für die aktuelle Iteration ab.

Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
HasControllableRoot

Ruft einen Wert ab, der angibt, ob diese Clock Teil einer steuerbaren Uhrenstruktur ist.

IsPaused

Ruft einen Wert ab, der angibt, ob diese Clock oder eines ihrer übergeordneten Elemente angehalten wurde.

NaturalDuration

Ruft die interne Dauer der Timeline dieser Uhr ab.

Parent

Ruft die Uhr ab, die das übergeordnete Element dieser Uhr bildet.

Timeline

Ruft die Timeline ab, aus der diese Clock erstellt wurde.

Methoden

CheckAccess()

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

(Geerbt von DispatcherObject)
DiscontinuousTimeMovement()

Wird stets beim Implementieren in einer abgeleiteten Klasse aufgerufen, wenn eine Uhr wiederholt, übersprungen oder gesucht wird.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetCanSlip()

Gibt zurück, ob die Clock eine eigene externe Zeitquelle besitzt. In diesem Fall ist möglicherweise eine Synchronisierung mit dem Zeitsteuerungssystem erforderlich.

GetCurrentTimeCore()

Ruft die aktuelle Zeit dieser Uhr für die aktuelle Iteration ab.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SpeedChanged()

Wird stets beim Implementieren in einer abgeleiteten Klasse aufgerufen, wenn eine Uhr gestartet, übersprungen, angehalten oder wieder aufgenommen oder wenn die SpeedRatio der Uhr bearbeitet wird.

Stopped()

Wird stets beim Implementieren in einer abgeleiteten Klasse aufgerufen, wenn eine Uhr mit der Stop()-Methode beendet wird.

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)

Ereignisse

Completed

Tritt auf, wenn das Ausführen dieser Uhr vollständig beendet wurde.

CurrentGlobalSpeedInvalidated

Tritt auf, wenn die Taktfrequenz aktualisiert wird.

CurrentStateInvalidated

Tritt auf, wenn die CurrentState-Eigenschaft der Uhr aktualisiert wird.

CurrentTimeInvalidated

Tritt auf, wenn die CurrentTime dieser Uhr ungültig wird.

RemoveRequested

Tritt auf, wenn für diese Remove() oder eine ihrer übergeordneten Uhren die Clock-Methode aufgerufen wird.

Gilt für