Clock Klasa

Definicja

Utrzymuje stan chronometrażu czasu wykonywania dla Timeline .Maintains run-time timing state for a 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
Dziedziczenie
Pochodne

Uwagi

A Timeline sama, sama nie robi niczego poza opisywanym segmentem czasu.A Timeline, by itself, doesn't actually do anything other than describe a segment of time. Jest to obiekt osi czasu Clock , który wykonuje rzeczywistą służbę: utrzymuje stan czasu wykonywania związany z chronometrażem dla osi czasu.It's the timeline's Clock object that does the real work: it maintains timing-related run-time state for the timeline.

W większości przypadków zegar jest tworzony automatycznie dla osi czasu.In most cases, a clock is created automatically for your timeline. W przypadku animacji przy użyciu Storyboard lub BeginAnimation metody zegary są automatycznie tworzone dla osi czasu i animacji i stosowane do ich właściwości.When you animate by using a Storyboard or the BeginAnimation method, clocks are automatically created for your timelines and animations and applied to their targeted properties. Aby zapoznać się z przykładami, zobacz How to: animować Właściwość za pomocą scenorysu i instrukcje: Animuj Właściwość bez użycia scenorysu.For examples, see How to: Animate a Property by Using a Storyboard and How to: Animate a Property Without Using a Storyboard.

Można również utworzyć Clock jawnie za pomocą CreateClock metody.You can also create a Clock explicitly by using the CreateClock method. W scenariuszach intensywnie korzystających z wydajności, takich jak animowanie dużej liczby podobnych obiektów, Zarządzanie własnym Clock użyciem może zapewnić korzyści z wydajności.In performance-intensive scenarios, such as animating large numbers of similar objects, managing your own Clock use can provide performance benefits.

Zegary są rozmieszczone w drzewach, które pasują do struktury Timeline drzewa obiektów, z którego są tworzone.Clocks are arranged in trees that match the structure of the Timeline objects tree from which they are created. Zegar główny takiego drzewa chronometrażu może być interaktywnie manipulowany (wstrzymany, wznowiony, zatrzymany itd.) przez pobranie jego Controller .The root clock of such a timing tree can be interactively manipulated (paused, resumed, stopped, and so on) by retrieving its Controller. Nie można bezpośrednio kontrolować zegarów innych niż główne.Non-root clocks cannot be directly controlled.

Po utworzeniu nie można zmodyfikować zegara (ale można go manipulować).Once created, a clock cannot be modified (but it can be manipulated).

Używanie osi czasu jako czasomierzaUsing a Timeline as a Timer

Zegar osi czasu będzie postępować tylko wtedy, gdy istnieje skojarzona z nim procedura obsługi zdarzeń lub (w przypadku AnimationClock obiektu), jest on skojarzony z właściwością.A timeline's clock will only progress when there's an event handler associated with it or (in the case of an AnimationClock object) it is associated with a property. Z tego powodu nie zaleca się używania Timeline jako czasomierza.For this reason (and others), it's not recommended that you use a Timeline as a timer.

Uwagi dotyczące dziedziczenia

Klasy pochodne powinny implementować GetCurrentTimeCore() , jeśli chcą modyfikować przepływy czasu dla tego zegara.Derived classes should implement GetCurrentTimeCore() if they want to modify how time flows for this clock. Klasy pochodne można wykonać w celu wykonania dodatkowej pracy, gdy zegar powtarza się, pomija, poszukuje, zaczyna, wstrzymuje, wznawia lub zatrzymuje przez zastąpienie DiscontinuousTimeMovement() SpeedChanged() metod,, i Stopped() .Derived classes can be made to do additional work when the clock repeats, skips, seeks, begins, pauses, resumes, or stops by overriding the DiscontinuousTimeMovement(), SpeedChanged(), and Stopped() methods.

Konstruktory

Clock(Timeline)

Inicjuje nowe wystąpienie Clock klasy, używając określonej Timeline jako szablonu.Initializes a new instance of the Clock class, using the specified Timeline as a template. Nowy Clock obiekt nie ma elementów podrzędnych.The new Clock object has no children.

Właściwości

Controller

Pobiera, ClockController który może służyć do uruchamiania, wstrzymywania, wznawiania, wyszukiwania, pomijania, zatrzymywania lub usuwania Clock .Gets a ClockController that can be used to start, pause, resume, seek, skip, stop, or remove this Clock.

CurrentGlobalSpeed

Pobiera częstotliwość, z jaką czas zegara jest aktualnie wykonywany w porównaniu do czasu rzeczywistego.Gets the rate at which the clock's time is currently progressing, compared to real-world time.

CurrentGlobalTime

Pobiera bieżący czas globalny, zgodnie z ustaleniami systemu czasu WPF.Gets the current global time, as established by the WPF timing system.

CurrentIteration

Pobierz bieżącą iterację tego zegara.Get the current iteration of this clock.

CurrentProgress

Pobiera bieżący postęp Clock w ramach bieżącej iteracji.Gets the current progress of this Clock within its current iteration.

CurrentState

Pobiera wartość wskazującą, czy zegar jest obecnie Active , Filling , czy Stopped .Gets a value indicating whether the clock is currently Active, Filling, or Stopped.

CurrentTime

Pobiera bieżący czas tego zegara w bieżącej iteracji.Gets this clock's current time within its current iteration.

Dispatcher

Pobiera Dispatcher ten DispatcherObject program jest skojarzony z.Gets the Dispatcher this DispatcherObject is associated with.

(Odziedziczone po DispatcherObject)
HasControllableRoot

Pobiera wartość wskazującą, czy jest to Clock część drzewa zegarów z możliwością kontrolowania.Gets a value that indicates whether this Clock is part of a controllable clock tree.

IsPaused

Pobiera wartość wskazującą, czy ta Clock lub dowolna z jej elementów nadrzędnych jest wstrzymana.Gets a value that indicates whether this Clock, or any of its parents, is paused.

NaturalDuration

Pobiera naturalny czas trwania tego zegara Timeline .Gets the natural duration of this clock's Timeline.

Parent

Pobiera zegar, który jest elementem nadrzędnym tego zegara.Gets the clock that is the parent of this clock.

Timeline

Pobiera, Timeline z którego Clock została utworzona.Gets the Timeline from which this Clock was created.

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)
DiscontinuousTimeMovement()

Po zaimplementowaniu w klasie pochodnej, będzie wywoływana za każdym razem, gdy zegar powtarza się, pomija lub poszukuje.When implemented in a derived class, will be invoked whenever a clock repeats, skips, or seeks.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetCanSlip()

Zwraca czy Clock ma własne źródło czasu zewnętrznego, które może wymagać synchronizacji z systemem chronometrażu.Returns whether the Clock has its own external time source, which may require synchronization with the timing system.

GetCurrentTimeCore()

Pobiera bieżący czas tego zegara w bieżącej iteracji.Gets this clock's current time within its current iteration.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
SpeedChanged()

Po zaimplementowaniu w klasie pochodnej, będzie wywoływana za każdym razem, gdy rozpocznie się, pomijanie, wstrzymywanie, wznawianie lub czas SpeedRatio modyfikacji zegara.When implemented in a derived class, will be invoked whenever a clock begins, skips, pauses, resumes, or when the clock's SpeedRatio is modified.

Stopped()

Po zaimplementowaniu w klasie pochodnej, będzie wywoływana za każdym razem, gdy zegar zostanie zatrzymany przy użyciu Stop() metody.When implemented in a derived class, will be invoked whenever a clock is stopped using the Stop() method.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)

Zdarzenia

Completed

Występuje po całkowicie zakończeniu odtwarzania tego zegara.Occurs when this clock has completely finished playing.

CurrentGlobalSpeedInvalidated

Występuje, gdy jest aktualizowana szybkość zegara.Occurs when the clock's speed is updated.

CurrentStateInvalidated

Występuje, gdy właściwość Clock CurrentState zostanie zaktualizowana.Occurs when the clock's CurrentState property is updated.

CurrentTimeInvalidated

Występuje, gdy ten zegar CurrentTime stanie się nieprawidłowy.Occurs when this clock's CurrentTime becomes invalid.

RemoveRequested

Występuje, gdy Remove() Metoda jest wywoływana dla tego Clock lub jednego z jego zegarów nadrzędnych.Occurs when the Remove() method is called on this Clock or one of its parent clocks.

Dotyczy