Condividi tramite


Clock Classe

Definizione

Mantiene lo stato di temporizzazione runtime per un 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 effettivamente alcuna operazione diversa da descrivere un segmento di tempo. Si tratta dell'oggetto Clock della sequenza temporale che esegue il lavoro reale: mantiene lo stato di runtime correlato alla tempistica per la sequenza temporale.

Nella maggior parte dei casi, viene creato automaticamente un orologio per la sequenza temporale. Quando si anima usando o Storyboard il BeginAnimation metodo , gli orologi vengono creati automaticamente per le sequenze temporali e le animazioni e applicate alle relative proprietà di destinazione. Per esempi, vedere Procedura: Animare una proprietà usando uno storyboard e Procedura: Animare una proprietà senza usare uno storyboard.

È anche possibile creare un Clock oggetto in modo esplicito usando il CreateClock metodo . Negli scenari a elevato utilizzo di prestazioni, ad esempio l'animazione di un numero elevato di oggetti simili, la gestione Clock dell'uso personalizzato può offrire vantaggi in termini di prestazioni.

Gli orologi sono disposti in alberi che corrispondono alla struttura dell'albero Timeline degli oggetti da cui vengono creati. L'orologio radice di un albero di temporizzazione di questo tipo può essere manipolato in modo interattivo (sospeso, ripreso, arrestato e così via) recuperandone Controller. Gli orologi non radice non possono essere controllati direttamente.

Una volta creato, non è possibile modificare un orologio , ma può essere modificato.

Uso di una sequenza temporale come timer

L'orologio di una sequenza temporale procederà solo quando è associato un gestore eventi o , nel caso di un AnimationClock oggetto, associato a una proprietà. Per questo motivo (e altri), non è consigliabile usare come Timeline timer.

Note per gli eredi

Le classi derivate devono implementare GetCurrentTimeCore() se vogliono modificare il modo in cui il tempo scorre per questo orologio. Le classi derivate possono essere eseguite 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() .

Costruttori

Clock(Timeline)

Inizializza una nuova istanza della classe Clock utilizzando l'oggetto Timeline specificato come modello. Il nuovo oggetto Clock non ha elementi figli.

Proprietà

Controller

Ottiene un ClockController che può essere usato per avviare, sospendere, ripristinare, cercare, ignorare, arrestare o rimuovere questo Clock.

CurrentGlobalSpeed

Ottiene la velocità di avanzamento del tempo del clock corrente, rispetto al tempo del mondo reale.

CurrentGlobalTime

Ottiene l'ora globale corrente, come stabilito dal sistema di temporizzazione WPF.

CurrentIteration

Ottenere l'iterazione corrente di questo clock.

CurrentProgress

Ottiene lo stato di avanzamento corrente di questo Clock all'interno dell'iterazione corrente.

CurrentState

Ottiene un valore che indica se l'orologio attualmente è Active, Filling o Stopped.

CurrentTime

Ottiene l'ora corrente di questo clock all'interno dell'iterazione corrente.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
HasControllableRoot

Ottiene un valore che indica se il controllo Clock fa parte di una struttura ad albero del clock controllabile.

IsPaused

Ottiene un valore che indica se questo Clock o alcuni elementi padri, è messo in pausa.

NaturalDuration

Ottiene la durata standard della Timeline di questo clock.

Parent

Ottiene il clock che è l’elemento padre di questo clock.

Timeline

Ottiene la Timeline con la quale è stato creato questo Clock.

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
DiscontinuousTimeMovement()

In caso di implementazione in una classe derivata, verrà richiamato ogni qualvolta un clock ripete, salta o cerca.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetCanSlip()

Indica se Clock ha la propria origine dell'ora esterna che può richiedere una sincronizzazione con il sistema di temporizzazione.

GetCurrentTimeCore()

Ottiene l'ora corrente di questo clock all'interno dell'iterazione corrente.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(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.

Stopped()

In caso di implementazione in una classe derivata, verrà richiamato ogni qualvolta un clock viene interrotto utilizzando il metodo Stop().

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Eventi

Completed

Si verifica quando questo clock ha completamente terminato l’esecuzione.

CurrentGlobalSpeedInvalidated

Si verifica quando la velocità del clock viene aggiornata.

CurrentStateInvalidated

Si verifica quando la proprietà CurrentState del clock viene aggiornata.

CurrentTimeInvalidated

Si verifica quando il CurrentTime di questo clock diventa non valido.

RemoveRequested

Si verifica quando viene chiamata l’evento Remove() su questo Clock o uno dei suoi clock genitori.

Si applica a