Temporizador integrado en la cola de Dispatcher que se procesa en un intervalo de tiempo especificado con una prioridad especificada.
System.Windows.Threading.DispatcherTimer
Espacio de nombres: System.Windows.Threading
Ensamblado: WindowsBase (en WindowsBase.dll)
XMLNS para XAML: No asignado a un xmlns.
Public Class DispatcherTimer
public class DispatcherTimer
public ref class DispatcherTimer
type DispatcherTimer = class end
El tipo DispatcherTimer expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
DispatcherTimer() | Inicializa una nueva instancia de la clase DispatcherTimer. |
|
DispatcherTimer(DispatcherPriority) | Inicializa una nueva instancia de la clase DispatcherTimer que procesa los eventos del temporizador con la prioridad especificada. |
|
DispatcherTimer(DispatcherPriority, Dispatcher) | Inicializa una nueva instancia de la clase DispatcherTimer que se ejecuta en el objeto Dispatcher especificado con la prioridad especificada. |
|
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. |
| Nombre | Descripción | |
|---|---|---|
|
Dispatcher | Obtiene el objeto Dispatcher asociado a DispatcherTimer. |
|
Interval | Obtiene o establece el período de tiempo entre los pasos del temporizador. |
|
IsEnabled | Obtiene o establece un valor que indica si el temporizador está en ejecución. |
|
Tag | Obtiene o establece un objeto de datos definido por el usuario. |
| Nombre | Descripción | |
|---|---|---|
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Start | Inicia DispatcherTimer. |
|
Stop | Detiene DispatcherTimer. |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
| Nombre | Descripción | |
|---|---|---|
|
Tick | Se produce cuando ha transcurrido el intervalo del temporizador. |
DispatcherTimer se reevalúa en la parte superior de cada bucle Dispatcher.
No se garantiza que los temporizadores se ejecuten exactamente cuando finaliza el intervalo de tiempo, pero se garantiza que no se ejecutan antes de que finalice el intervalo de tiempo. Esto se debe a que las operaciones de DispatcherTimer se colocan en la cola de Dispatcher al igual que otras operaciones. El momento en que se ejecuta la operación DispatcherTimer depende de los otros trabajos en la cola y sus prioridades.
Si se usa System.Timers.Timer en una aplicación de WPF, se debe tener en cuenta que System.Timers.Timer se ejecuta en un subproceso diferente del subproceso de user interface (UI). Para tener acceso a los objetos del subproceso de user interface (UI), es necesario exponer la operación en el objeto Dispatcher del subproceso de user interface (UI) mediante Invoke o BeginInvoke. Las razones para usar DispatcherTimer en vez de System.Timers.Timer es que DispatcherTimer se ejecuta en el mismo subproceso que Dispatcher y se puede establecer un valor de DispatcherPriority en DispatcherTimer.
DispatcherTimer mantendrá un objeto activo cada vez que los métodos del objeto se enlacen al temporizador.
En el ejemplo siguiente se crea un objeto DispatcherTimer que actualiza el contenido de Label y llama al método InvalidateRequerySuggested en CommandManager.
Se crea un objeto DispatcherTimer denominado dispatcherTimer. El dispatcherTimer_Tick del controlador de eventos se agrega al evento Tick de dispatcherTimer. Interval se establece en un segundo usando un objeto TimeSpan y se inicia el temporizador.
' DispatcherTimer setup dispatcherTimer = New Threading.DispatcherTimer() AddHandler dispatcherTimer.Tick, AddressOf dispatcherTimer_Tick dispatcherTimer.Interval = New TimeSpan(0,0,1) dispatcherTimer.Start()
// DispatcherTimer setup dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); dispatcherTimer.Interval = new TimeSpan(0,0,1); dispatcherTimer.Start();
El controlador de eventos Tick actualiza un objeto Label que muestra el segundo actual y llama a InvalidateRequerySuggested en 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 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
// 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(); }
.NET Framework
Compatible con: 4, 3.5, 3.0.NET Framework Client Profile
Compatible con: 4, 3.5 SP1Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.