Freigeben über


DispatcherQueueTimer Klasse

Definition

Führt einen Task in einer DispatcherQueue in regelmäßigen Abständen aus, nachdem ein Zeitintervall abgelaufen ist.

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
Vererbung
Object Platform::Object IInspectable DispatcherQueueTimer
Attribute

Beispiele

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;

Hinweise

Das System garantiert, dass der Ereignishandler erst nach Ablauf der angegebenen Dauer aufgerufen wird. Es kann jedoch zu einer gewissen Verzögerung kommen, bevor der Tick-Handler aufgerufen wird, wenn andere ausstehende Arbeitselemente in der Warteschlange vorhanden sind.

Timertasks werden mit einer Priorität ausgeführt, die niedriger ist als im Leerlauf.

Timer halten die DispatcherQueue-Ereignisschleife nicht am Leben. Timer, die nach dem Beenden der DispatcherQueue-Ereignisschleife erstellt wurden, werden nicht verarbeitet.

Eigenschaften

Interval

Ruft das Intervall für den Timer ab und legt es fest.

IsRepeating

Ruft einen Wert ab, der angibt, ob sich der Timer wiederholt, oder legt diesen fest.

IsRunning

Gibt an, ob der Timer derzeit ausgeführt wird.

Methoden

Start()

Startet den DispatcherQueue-Timer .

Stop()

Beendet den DispatcherQueue-Timer .

Ereignisse

Tick

Ereignis, das ausgelöst wird, wenn das DispatcherQueue-Zeitgeberintervall verstrichen ist.

Gilt für: