Clock Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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. |