DispatcherQueueTimer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Ejecuta periódicamente una tarea en un subproceso DispatcherQueue después de que haya transcurrido un intervalo de tiempo.
public ref class DispatcherQueueTimer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DispatcherQueueTimer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DispatcherQueueTimer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DispatcherQueueTimer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DispatcherQueueTimer
Public NotInheritable Class DispatcherQueueTimer
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 Fall Creators Update (se introdujo en la versión 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v5.0)
|
Ejemplos
public void ConfigureRepeatingTimer()
{
_queueController = DispatcherQueueController.CreateOnDedicatedThread();
_queue = _queueController.DispatcherQueue;
_repeatingTimer = _queue.CreateTimer ();
_repeatingTimer.Interval = TimeSpan.FromSeconds(5);
// The tick handler will be invoked repeatedly after every 5
// seconds on the dedicated thread.
_repeatingTimer.Tick += (s, e) =>
{
DoWork();
};
// Start the Timer
_repeatingTimer.Start();
}
private DispatcherQueue _queue;
private DispatcherQueueController _queueController;
private DispatcherQueueTimer _repeatingTimer;
Comentarios
El sistema garantiza invocar el controlador de eventos solo después de que expire la duración especificada. Sin embargo, puede haber algún retraso antes de que se invoque el controlador de tics si hay otros elementos de trabajo pendientes en la cola.
Las tareas del temporizador se ejecutan con una prioridad menor que la inactiva.
Los temporizadores no mantienen activo el bucle de eventos DispatcherQueue . Los temporizadores creados después de que se haya detenido el bucle de eventos DispatcherQueue no se procesarán.
Propiedades
Interval |
Obtiene y establece el intervalo del temporizador. |
IsRepeating |
Indica si el temporizador se está repitiendo. |
IsRunning |
Indica si el temporizador se está ejecutando actualmente. |
Métodos
Start() |
Inicia el temporizador. |
Stop() |
Detiene el temporizador. |
Eventos
Tick |
Evento que se desencadena cuando transcurre el intervalo del temporizador. |