Clock Clase

Definición

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
Herencia
Derivado

Comentarios

TimelinePor 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 la escala de tiempo el 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 método o, los BeginAnimation 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 unguió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 Clock explícitamente mediante el CreateClock método.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 Clock administración de su propio 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 Timeline estructura del árbol de objetos 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 progresará cuando haya un controlador de eventos asociado a él o (en el AnimationClock caso de un objeto) que 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 Timeline como temporizador.For this reason (and others), it's not recommended that you use a Timeline as a timer.

Notas a los desarrolladores de herederos

Las clases derivadas GetCurrentTimeCore() deben implementar 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 DiscontinuousTimeMovement()métodos, 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.

Constructores

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.

Propiedades

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.

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

Métodos

CheckAccess()

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

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

(Heredado de 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 función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

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

(Heredado de Object)
MemberwiseClone()

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

(Heredado de 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 un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
VerifyAccess()

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

(Heredado de DispatcherObject)

Eventos

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.

Se aplica a