Udostępnij za pośrednictwem


Clock Klasa

Definicja

Utrzymuje stan czasu wykonywania dla elementu 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

Element Timeline, sam w sobie, nie robi niczego innego niż opisywanie segmentu czasu. Jest to obiekt osi czasu Clock , który wykonuje rzeczywistą pracę: zachowuje stan czasu związane z czasem wykonywania dla osi czasu.

W większości przypadków zegar jest tworzony automatycznie dla osi czasu. Podczas animowania przy użyciu metody Storyboard lub BeginAnimation zegary są automatycznie tworzone dla osi czasu i animacji oraz stosowane do ich właściwości docelowych. Aby zapoznać się z przykładami, zobacz Jak animować właściwość przy użyciu scenorysu i Jak animować właściwość bez używania scenorysu.

Można również utworzyć Clock jawnie przy użyciu CreateClock metody . 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.

Zegary są rozmieszczone w drzewach, które pasują do struktury Timeline drzewa obiektów, z których są tworzone. Zegar główny takiego drzewa chronometrażu może być interaktywnie manipulowany (wstrzymany, wznawiany, zatrzymany itd.) przez pobranie jego Controller. Zegary inne niż główne nie mogą być bezpośrednio kontrolowane.

Po utworzeniu nie można zmodyfikować zegara (ale można go manipulować).

Używanie osi czasu jako czasomierza

Zegar osi czasu będzie postępować tylko wtedy, gdy istnieje program obsługi zdarzeń skojarzony z nim lub (w przypadku AnimationClock obiektu) jest skojarzony z właściwością. Z tego powodu (i inne) nie zaleca się używania Timeline funkcji jako czasomierza.

Uwagi dotyczące dziedziczenia

Klasy pochodne powinny implementować GetCurrentTimeCore() , jeśli chcą zmodyfikować sposób przepływu czasu dla tego zegara. Klasy pochodne mogą wykonywać dodatkową pracę, gdy zegar powtarza, pomija, szuka, rozpoczyna, wstrzymuje, wznawia lub zatrzymuje, przesłaniając DiscontinuousTimeMovement()metody , SpeedChanged()i Stopped() .

Konstruktory

Clock(Timeline)

Inicjuje Clock nowe wystąpienie klasy przy użyciu określonego Timeline jako szablonu. Nowy Clock obiekt nie ma elementów podrzędnych.

Właściwości

Controller

Pobiera element ClockController , który może służyć do uruchamiania, wstrzymywania, wznawiania, wyszukiwania, pomijania, zatrzymywania lub usuwania tego elementu Clock.

CurrentGlobalSpeed

Pobiera szybkość, z jaką czas zegara jest obecnie postępuje, w porównaniu do czasu rzeczywistego.

CurrentGlobalTime

Pobiera bieżący czas globalny ustalony przez system chronometrażu WPF.

CurrentIteration

Pobierz bieżącą iterację tego zegara.

CurrentProgress

Pobiera bieżący postęp tej Clock operacji w bieżącej iteracji.

CurrentState

Pobiera wartość wskazującą, czy zegar jest obecnie Active, Fillinglub Stopped.

CurrentTime

Pobiera bieżący czas tego zegara w bieżącej iteracji.

Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
HasControllableRoot

Pobiera wartość wskazującą, czy jest to Clock część sterowanego drzewa zegara.

IsPaused

Pobiera wartość wskazującą, czy ten Clockelement , czy którykolwiek z jego rodziców, jest wstrzymany.

NaturalDuration

Pobiera naturalny czas trwania tego zegara Timeline.

Parent

Pobiera zegar, który jest elementem nadrzędnym tego zegara.

Timeline

Pobiera element , Timeline z którego Clock został utworzony.

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
DiscontinuousTimeMovement()

Po zaimplementowaniu w klasie pochodnej będzie wywoływany za każdym razem, gdy zegar powtarza, pomija lub szuka.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetCanSlip()

Zwraca, czy obiekt Clock ma własne źródło czasu zewnętrznego, które może wymagać synchronizacji z systemem chronometrażu.

GetCurrentTimeCore()

Pobiera bieżący czas tego zegara w bieżącej iteracji.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SpeedChanged()

Po zaimplementowaniu w klasie pochodnej, będzie wywoływany za każdym razem, gdy zegar zaczyna, pomija, wstrzymuje, wznawia lub gdy zegar SpeedRatio jest modyfikowany.

Stopped()

Po zaimplementowaniu w klasie pochodnej, będzie wywoływany za każdym razem, gdy zegar zostanie zatrzymany przy użyciu Stop() metody .

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Zdarzenia

Completed

Występuje, gdy ten zegar całkowicie zakończył odtwarzanie.

CurrentGlobalSpeedInvalidated

Występuje, gdy prędkość zegara jest aktualizowana.

CurrentStateInvalidated

Występuje, gdy właściwość zegara CurrentState jest aktualizowana.

CurrentTimeInvalidated

Występuje, gdy zegar staje CurrentTime się nieprawidłowy.

RemoveRequested

Występuje, gdy Remove() metoda jest wywoływana na tym Clock lub na jednym z jej zegarów nadrzędnych.

Dotyczy