DispatcherQueueTimer 类

定义

时间间隔过后,定期在 DispatcherQueue 中执行任务。

public ref class DispatcherQueueTimer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DispatcherQueueTimer final
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class DispatcherQueueTimer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DispatcherQueueTimer
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class DispatcherQueueTimer
Public NotInheritable Class DispatcherQueueTimer
继承
Object Platform::Object IInspectable DispatcherQueueTimer
属性

示例

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;

注解

系统保证仅在指定的持续时间到期后调用事件处理程序。 但是,如果队列中存在其他挂起的工作项,在调用时钟周期处理程序之前可能会有一些延迟。

计时器任务以低于空闲的优先级运行。

计时器不会使 DispatcherQueue 事件循环保持活动状态。 在 DispatcherQueue 事件循环停止后创建的计时器将不会得到处理。

属性

Interval

获取并设置计时器的间隔。

IsRepeating

获取或设置一个值,该值指示计时器是否重复。

IsRunning

指示计时器当前是否正在运行。

方法

Start()

启动 DispatcherQueue 计时器。

Stop()

停止 DispatcherQueue 计时器。

事件

Tick

当 DispatcherQueue 计时器间隔过时触发的事件。

适用于