DispatcherTimer DispatcherTimer DispatcherTimer DispatcherTimer Class

Definición

Temporizador integrado en la cola de Dispatcher que se procesa en un intervalo de tiempo especificado con una prioridad especificada.A timer that is integrated into the Dispatcher queue which is processed at a specified interval of time and at a specified priority.

public ref class DispatcherTimer
public class DispatcherTimer
type DispatcherTimer = class
Public Class DispatcherTimer
Herencia
DispatcherTimerDispatcherTimerDispatcherTimerDispatcherTimer

Ejemplos

En el ejemplo siguiente se crea un DispatcherTimer que actualiza el contenido de un Label y llama a la InvalidateRequerySuggested método en el CommandManager.The following example creates a DispatcherTimer that updates the contents of a Label and calls the InvalidateRequerySuggested method on the CommandManager.

Un DispatcherTimer objeto denominado dispatcherTimer se crea.A DispatcherTimer object named dispatcherTimer is created. El controlador de eventos dispatcherTimer_Tick se agrega a la Tick událostí dispatcherTimer.The event handler dispatcherTimer_Tick is added to the Tick event of dispatcherTimer. El Interval está establecido en 1 segundo con un TimeSpan objeto y el temporizador se inició.The Interval is set to 1 second using a TimeSpan object, and the timer is started.

//  DispatcherTimer setup
dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();
'  DispatcherTimer setup
dispatcherTimer = New Threading.DispatcherTimer()
AddHandler dispatcherTimer.Tick, AddressOf dispatcherTimer_Tick
dispatcherTimer.Interval = New TimeSpan(0,0,1)
dispatcherTimer.Start()

El Tick actualizaciones del controlador de eventos un Label que muestra el actual en segundo lugar, y llama a InvalidateRequerySuggested en el CommandManager.The Tick event handler updates a Label that displays the current second, and it calls InvalidateRequerySuggested on the CommandManager.

//  System.Windows.Threading.DispatcherTimer.Tick handler
//
//  Updates the current seconds display and calls
//  InvalidateRequerySuggested on the CommandManager to force 
//  the Command to raise the CanExecuteChanged event.
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Updating the Label which displays the current second
    lblSeconds.Content = DateTime.Now.Second;

    // Forcing the CommandManager to raise the RequerySuggested event
    CommandManager.InvalidateRequerySuggested();
}
'  System.Windows.Threading.DispatcherTimer.Tick handler
'
'  Updates the current seconds display and calls
'  InvalidateRequerySuggested on the CommandManager to force 
'  the Command to raise the CanExecuteChanged event.
Private Sub dispatcherTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
	' Updating the Label which displays the current second
	lblSeconds.Content = Date.Now.Second

	' Forcing the CommandManager to raise the RequerySuggested event
	CommandManager.InvalidateRequerySuggested()
End Sub

Comentarios

El DispatcherTimer se reevalúa en la parte superior de cada Dispatcher bucle.The DispatcherTimer is reevaluated at the top of every Dispatcher loop.

No se garantiza que los temporizadores ejecutar exactamente cuándo se produce el intervalo de tiempo, pero se garantiza que no se ejecuten antes de que se produce el intervalo de tiempo.Timers are not guaranteed to execute exactly when the time interval occurs, but they are guaranteed to not execute before the time interval occurs. Esto es porque DispatcherTimer operaciones se colocan en el Dispatcher cola como otras operaciones.This is because DispatcherTimer operations are placed on the Dispatcher queue like other operations. Cuando el DispatcherTimer operación se ejecuta depende de los otros trabajos en la cola y sus prioridades.When the DispatcherTimer operation executes is dependent on the other jobs in the queue and their priorities.

Si un System.Timers.Timer se usa en un WPFWPF aplicación, es importante destacar que el System.Timers.Timer se ejecuta en un subproceso distinto del interfaz de usuario (UI)user interface (UI) subproceso.If a System.Timers.Timer is used in a WPFWPF application, it is worth noting that the System.Timers.Timer runs on a different thread than the interfaz de usuario (UI)user interface (UI) thread. Para tener acceso a objetos en el interfaz de usuario (UI)user interface (UI) subproceso, es necesario registrar la operación en el Dispatcher de la interfaz de usuario (UI)user interface (UI) subprocesos mediante Invoke o BeginInvoke.In order to access objects on the interfaz de usuario (UI)user interface (UI) thread, it is necessary to post the operation onto the Dispatcher of the interfaz de usuario (UI)user interface (UI) thread using Invoke or BeginInvoke. Razones para utilizar un DispatcherTimer en contraposición a un System.Timers.Timer son que el DispatcherTimer se ejecuta en el mismo subproceso que la Dispatcher y un DispatcherPriority se pueden establecer en el DispatcherTimer.Reasons for using a DispatcherTimer as opposed to a System.Timers.Timer are that the DispatcherTimer runs on the same thread as the Dispatcher and a DispatcherPriority can be set on the DispatcherTimer.

Un DispatcherTimer mantendrá un objeto activo cada vez que se enlazan los métodos del objeto para el temporizador.A DispatcherTimer will keep an object alive whenever the object's methods are bound to the timer.

Constructores

DispatcherTimer() DispatcherTimer() DispatcherTimer() DispatcherTimer()

Inicializa una nueva instancia de la clase DispatcherTimer.Initializes a new instance of the DispatcherTimer class.

DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority)

Inicializa una nueva instancia de la clase DispatcherTimer que procesa los eventos del temporizador con la prioridad especificada.Initializes a new instance of the DispatcherTimer class which processes timer events at the specified priority.

DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher)

Inicializa una nueva instancia de la clase DispatcherTimer que se ejecuta en el objeto Dispatcher especificado con la prioridad especificada.Initializes a new instance of the DispatcherTimer class which runs on the specified Dispatcher at the specified priority.

DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher)

Inicializa una nueva instancia de la clase DispatcherTimer que usa el intervalo de tiempo, prioridad, controlador de eventos y Dispatcher especificados.Initializes a new instance of the DispatcherTimer class which uses the specified time interval, priority, event handler, and Dispatcher.

Propiedades

Dispatcher Dispatcher Dispatcher Dispatcher

Obtiene el objeto Dispatcher asociado a DispatcherTimer.Gets the Dispatcher associated with this DispatcherTimer.

Interval Interval Interval Interval

Obtiene o establece el período de tiempo entre los pasos del temporizador.Gets or sets the period of time between timer ticks.

IsEnabled IsEnabled IsEnabled IsEnabled

Obtiene o establece un valor que indica si el temporizador está en ejecución.Gets or sets a value that indicates whether the timer is running.

Tag Tag Tag Tag

Obtiene o establece un objeto de datos definido por el usuario.Gets or sets a user-defined data object.

Métodos

Equals(Object) Equals(Object) Equals(Object) 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)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
Start() Start() Start() Start()

Inicia DispatcherTimer.Starts the DispatcherTimer.

Stop() Stop() Stop() Stop()

Detiene DispatcherTimer.Stops the DispatcherTimer.

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

Eventos

Tick Tick Tick Tick

Se produce cuando ha transcurrido el intervalo del temporizador.Occurs when the timer interval has elapsed.

Se aplica a