Clock Classe

Definizione

Mantiene lo stato di temporizzazione runtime per un 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
Ereditarietà
Derivato

Commenti

Un Timelineoggetto, da solo, non esegue alcuna operazione oltre a descrivere un intervallo di tempo.A Timeline, by itself, doesn't actually do anything other than describe a segment of time. Si tratta dell' Clock oggetto della sequenza temporale che esegue il lavoro effettivo: gestisce lo stato di runtime correlato alla temporizzazione per la sequenza temporale.It's the timeline's Clock object that does the real work: it maintains timing-related run-time state for the timeline.

Nella maggior parte dei casi, viene creato automaticamente un clock per la sequenza temporale.In most cases, a clock is created automatically for your timeline. Quando si aggiunge un'animazione usando un Storyboard metodo o BeginAnimation , gli orologi vengono creati automaticamente per le sequenze temporali e le animazioni e applicati alle proprietà di destinazione.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. Per esempi, vedere Procedura: Animare una proprietà utilizzando uno storyboard e procedura: Animare una proprietà senza utilizzare uno storyboard.For examples, see How to: Animate a Property by Using a Storyboard and How to: Animate a Property Without Using a Storyboard.

È anche possibile creare un Clock oggetto in modo esplicito CreateClock usando il metodo.You can also create a Clock explicitly by using the CreateClock method. Negli scenari con utilizzo intensivo delle prestazioni, ad esempio l'animazione di un numero elevato di oggetti Clock simili, la gestione del proprio uso può offrire vantaggi in merito alle prestazioni.In performance-intensive scenarios, such as animating large numbers of similar objects, managing your own Clock use can provide performance benefits.

Gli orologi sono disposti in alberi che corrispondono alla struttura dell' Timeline albero degli oggetti da cui vengono creati.Clocks are arranged in trees that match the structure of the Timeline objects tree from which they are created. Il clock radice di tale albero temporale può essere modificato in modo interattivo (sospeso, ripreso, arrestato e così via) recuperando il relativo Controlleroggetto.The root clock of such a timing tree can be interactively manipulated (paused, resumed, stopped, and so on) by retrieving its Controller. Non è possibile controllare direttamente gli orologi non radice.Non-root clocks cannot be directly controlled.

Una volta creato, un clock non può essere modificato, ma è possibile modificarlo.Once created, a clock cannot be modified (but it can be manipulated).

Uso di una sequenza temporale come timerUsing a Timeline as a Timer

Il clock di una sequenza temporale viene fatto solo quando esiste un gestore eventi associato o, nel caso di un AnimationClock oggetto, è associato a una proprietà.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. Per questo motivo (e altri), non è consigliabile utilizzare Timeline come timer.For this reason (and others), it's not recommended that you use a Timeline as a timer.

Note per gli eredi

Le classi derivate devono implementare GetCurrentTimeCore() se vogliono modificare il flusso di tempo per questo clock.Derived classes should implement GetCurrentTimeCore() if they want to modify how time flows for this clock. È possibile effettuare le classi derivate per eseguire operazioni aggiuntive quando l'orologio si ripete, ignora, Cerca, inizia, sospende, riprende o arresta eseguendo l'override dei DiscontinuousTimeMovement()metodi, SpeedChanged()e 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.

Costruttori

Clock(Timeline)

Inizializza una nuova istanza della classe Clock utilizzando l'oggetto Timeline specificato come modello.Initializes a new instance of the Clock class, using the specified Timeline as a template. Il nuovo oggetto Clock non ha elementi figli.The new Clock object has no children.

Proprietà

Controller

Ottiene un ClockController che può essere usato per avviare, sospendere, ripristinare, cercare, ignorare, arrestare o rimuovere questo Clock.Gets a ClockController that can be used to start, pause, resume, seek, skip, stop, or remove this Clock.

CurrentGlobalSpeed

Ottiene la velocità di avanzamento del tempo del clock corrente, rispetto al tempo del mondo reale.Gets the rate at which the clock's time is currently progressing, compared to real-world time.

CurrentGlobalTime

Ottiene l'ora globale corrente, come stabilito dal sistema di temporizzazione WPFWPF.Gets the current global time, as established by the WPFWPF timing system.

CurrentIteration

Ottenere l'iterazione corrente di questo clock.Get the current iteration of this clock.

CurrentProgress

Ottiene lo stato di avanzamento corrente di questo Clock all'interno dell'iterazione corrente.Gets the current progress of this Clock within its current iteration.

CurrentState

Ottiene un valore che indica se l'orologio attualmente è Active, Filling o Stopped.Gets a value indicating whether the clock is currently Active, Filling, or Stopped.

CurrentTime

Ottiene l'ora corrente di questo clock all'interno dell'iterazione corrente.Gets this clock's current time within its current iteration.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Ereditato da DispatcherObject)
HasControllableRoot

Ottiene un valore che indica se il controllo Clock fa parte di una struttura ad albero del clock controllabile.Gets a value that indicates whether this Clock is part of a controllable clock tree.

IsPaused

Ottiene un valore che indica se questo Clock o alcuni elementi padri, è messo in pausa.Gets a value that indicates whether this Clock, or any of its parents, is paused.

NaturalDuration

Ottiene la durata standard della Timeline di questo clock.Gets the natural duration of this clock's Timeline.

Parent

Ottiene il clock che è l’elemento padre di questo clock.Gets the clock that is the parent of this clock.

Timeline

Ottiene la Timeline con la quale è stato creato questo Clock.Gets the Timeline from which this Clock was created.

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)
DiscontinuousTimeMovement()

In caso di implementazione in una classe derivata, verrà richiamato ogni qualvolta un clock ripete, salta o cerca.When implemented in a derived class, will be invoked whenever a clock repeats, skips, or seeks.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetCanSlip()

Indica se Clock ha la propria origine dell'ora esterna che può richiedere una sincronizzazione con il sistema di temporizzazione.Returns whether the Clock has its own external time source, which may require synchronization with the timing system.

GetCurrentTimeCore()

Ottiene l'ora corrente di questo clock all'interno dell'iterazione corrente.Gets this clock's current time within its current iteration.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
SpeedChanged()

In caso di implementazione in una classe derivata, verrà richiamato ogni qualvolta un clock inizia, salti, pause, riprende o quando il SpeedRatio del clock viene modificato.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()

In caso di implementazione in una classe derivata, verrà richiamato ogni qualvolta un clock viene interrotto utilizzando il metodo Stop().When implemented in a derived class, will be invoked whenever a clock is stopped using the Stop() method.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Ereditato da DispatcherObject)

Eventi

Completed

Si verifica quando questo clock ha completamente terminato l’esecuzione.Occurs when this clock has completely finished playing.

CurrentGlobalSpeedInvalidated

Si verifica quando la velocità del clock viene aggiornata.Occurs when the clock's speed is updated.

CurrentStateInvalidated

Si verifica quando la proprietà CurrentState del clock viene aggiornata.Occurs when the clock's CurrentState property is updated.

CurrentTimeInvalidated

Si verifica quando il CurrentTime di questo clock diventa non valido.Occurs when this clock's CurrentTime becomes invalid.

RemoveRequested

Si verifica quando viene chiamata l’evento Remove() su questo Clock o uno dei suoi clock genitori.Occurs when the Remove() method is called on this Clock or one of its parent clocks.

Si applica a