Clock Class

Definition

Mantiene el estado de sincronización en tiempo de ejecución para una clase 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
Inheritance
Derived

Remarks

Un Timeline, por sí solo, no hace nada más que describir un segmento de tiempo.A Timeline, by itself, doesn't actually do anything other than describe a segment of time. Es el objeto de Clock de la escala de tiempo que realiza el trabajo real: mantiene el estado de tiempo de ejecución relacionado con el control de tiempo para la escala de tiempo.It's the timeline's Clock object that does the real work: it maintains timing-related run-time state for the timeline.

En la mayoría de los casos, se crea automáticamente un reloj para la escala de tiempo.In most cases, a clock is created automatically for your timeline. Al animar mediante un Storyboard o el método de BeginAnimation, los relojes se crean automáticamente para las escalas de tiempo y las animaciones y se aplican a las propiedades de destino.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. Para obtener ejemplos, vea Cómo: animar una propiedad mediante un guión gráfico y Cómo: animar una propiedad sin utilizar un guión gráfico.For examples, see How to: Animate a Property by Using a Storyboard and How to: Animate a Property Without Using a Storyboard.

También puede crear un Clock explícitamente mediante el método CreateClock.You can also create a Clock explicitly by using the CreateClock method. En escenarios de rendimiento intensivo, como la animación de un gran número de objetos similares, la administración de su propio Clock uso puede proporcionar ventajas de rendimiento.In performance-intensive scenarios, such as animating large numbers of similar objects, managing your own Clock use can provide performance benefits.

Los relojes se organizan en árboles que coinciden con la estructura del árbol de objetos de Timeline desde el que se crean.Clocks are arranged in trees that match the structure of the Timeline objects tree from which they are created. El reloj raíz de este árbol de control de tiempo se puede manipular de forma interactiva (en pausa, reanudar, detener, etc.) recuperando su Controller.The root clock of such a timing tree can be interactively manipulated (paused, resumed, stopped, and so on) by retrieving its Controller. Los relojes que no son de raíz no se pueden controlar directamente.Non-root clocks cannot be directly controlled.

Una vez creado, no se puede modificar un reloj (pero se puede manipular).Once created, a clock cannot be modified (but it can be manipulated).

Usar una escala de tiempo como un temporizadorUsing a Timeline as a Timer

El reloj de una escala de tiempo solo progresa cuando hay un controlador de eventos asociado a él o (en el caso de un objeto AnimationClock) está asociado a una propiedad.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. Por esta razón (y otros), no se recomienda usar un Timeline como temporizador.For this reason (and others), it's not recommended that you use a Timeline as a timer.

Notes to Inheritors

Las clases derivadas deben implementar GetCurrentTimeCore() si desean modificar cómo fluyen los flujos de tiempo para este reloj.Derived classes should implement GetCurrentTimeCore() if they want to modify how time flows for this clock. Se pueden realizar las clases derivadas para realizar trabajo adicional cuando el reloj se repite, omite, busca, inicia, pausa, reanuda o detiene invalidando los métodos DiscontinuousTimeMovement(), SpeedChanged()y 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.

Constructors

Clock(Timeline)

Inicializa una nueva instancia de la clase Clock utilizando la propiedad Timeline especificada como plantilla.Initializes a new instance of the Clock class, using the specified Timeline as a template. El nuevo objeto Clock no tiene ningún objeto secundario.The new Clock object has no children.

Properties

Controller

Obtiene una clase ClockController que se puede usar para iniciar, pausar, reanudar, buscar, omitir, detener o quitar esta clase Clock.Gets a ClockController that can be used to start, pause, resume, seek, skip, stop, or remove this Clock.

CurrentGlobalSpeed

Obtiene la velocidad a la que la hora del reloj avanza actualmente, en comparación con la hora real.Gets the rate at which the clock's time is currently progressing, compared to real-world time.

CurrentGlobalTime

Obtiene la hora global actual, de la forma establecida por el sistema de control de tiempo de WPFWPF.Gets the current global time, as established by the WPFWPF timing system.

CurrentIteration

Obtiene la iteración actual de este reloj.Get the current iteration of this clock.

CurrentProgress

Obtiene el progreso actual de este objeto Clock en su iteración actual.Gets the current progress of this Clock within its current iteration.

CurrentState

Obtiene un valor que indica si el reloj es actualmente Active, Filling o Stopped.Gets a value indicating whether the clock is currently Active, Filling, or Stopped.

CurrentTime

Obtiene la hora actual de este reloj en su iteración actual.Gets this clock's current time within its current iteration.

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
HasControllableRoot

Obtiene un valor que indica si Clock forma parte de un árbol de relojes que se puede controlar.Gets a value that indicates whether this Clock is part of a controllable clock tree.

IsPaused

Obtiene un valor que indica si este objeto Clock o alguno de sus objetos primarios está en pausa.Gets a value that indicates whether this Clock, or any of its parents, is paused.

NaturalDuration

Obtiene la duración natural de la propiedad Timeline de este reloj.Gets the natural duration of this clock's Timeline.

Parent

Obtiene el reloj que es el objeto primario de este reloj.Gets the clock that is the parent of this clock.

Timeline

Obtiene la propiedad Timeline a partir de la que se creó Clock.Gets the Timeline from which this Clock was created.

Methods

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
DiscontinuousTimeMovement()

Cuando se implementa en una clase derivada, se invocará siempre que un reloj se repita, se omita o se busque.When implemented in a derived class, will be invoked whenever a clock repeats, skips, or seeks.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetCanSlip()

Devuelve si Clock tiene su propio origen externo de tiempo, que quizá requiera la sincronización con el sistema de control de tiempo.Returns whether the Clock has its own external time source, which may require synchronization with the timing system.

GetCurrentTimeCore()

Obtiene la hora actual de este reloj en su iteración actual.Gets this clock's current time within its current iteration.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
SpeedChanged()

Cuando se implementa en una clase derivada, se invocará siempre que un reloj se inicie, se omita, se pause, se reanude o cuando se modifique la propiedad SpeedRatio del reloj.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()

Cuando se implementa en una clase derivada, se invocará siempre que un reloj se detenga mediante el método Stop().When implemented in a derived class, will be invoked whenever a clock is stopped using the Stop() method.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Events

Completed

Se produce cuando este reloj ha dejado completamente de ejecutarse.Occurs when this clock has completely finished playing.

CurrentGlobalSpeedInvalidated

Se produce cuando se actualiza la velocidad del reloj.Occurs when the clock's speed is updated.

CurrentStateInvalidated

Se produce cuando la propiedad CurrentState del reloj se actualiza.Occurs when the clock's CurrentState property is updated.

CurrentTimeInvalidated

Se produce cuando la propiedad CurrentTime de este reloj deja de ser válida.Occurs when this clock's CurrentTime becomes invalid.

RemoveRequested

Se produce cuando se llama al método Remove() en Clock o en uno de sus relojes primarios.Occurs when the Remove() method is called on this Clock or one of its parent clocks.

Applies to