Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
1 von 1 fanden dies hilfreich - Dieses Thema bewerten.

DispatcherTimer-Klasse

Ein Zeitgeber, der in die Dispatcher-Warteschlange integriert ist, die in einem festgelegten Zeitintervall und mit einer festgelegten Priorität verarbeitet wird.

System.Object
  System.Windows.Threading.DispatcherTimer

Namespace:  System.Windows.Threading
Assembly:  WindowsBase (in WindowsBase.dll)
XMLNS für XAML: Keinem xmlns zugeordnet.
public class DispatcherTimer

Der DispatcherTimer-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Methode DispatcherTimer() Initialisiert eine neue Instanz der DispatcherTimer-Klasse.
Öffentliche Methode DispatcherTimer(DispatcherPriority) Initialisiert eine neue Instanz der DispatcherTimer-Klasse, die Zeitgeberereignisse mit der angegebenen Priorität verarbeitet.
Öffentliche Methode DispatcherTimer(DispatcherPriority, Dispatcher) Initialisiert eine neue Instanz der DispatcherTimer-Klasse, die im angegebenen Dispatcher mit der angegebenen Priorität ausgeführt wird.
Öffentliche Methode DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) Initialisiert eine neue Instanz der DispatcherTimer-Klasse, die das angegebene Zeitintervall, die angegebene Priorität, den angegebenen Ereignishandler und den angegebenen Dispatcher verwendet.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft Dispatcher Ruft den diesem DispatcherTimer zugeordneten Dispatcher ab.
Öffentliche Eigenschaft Interval Ruft den Zeitraum zwischen den Ticks des Zeitgebers ab oder legt diesen fest.
Öffentliche Eigenschaft IsEnabled Ruft einen Wert ab, mit dem angegeben wird, ob der Zeitgeber ausgeführt wird, oder legt diesen Wert fest.
Öffentliche Eigenschaft Tag Ruft ein benutzerdefiniertes Datenobjekt ab oder legt es fest.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode Start Startet den DispatcherTimer.
Öffentliche Methode Stop Hält den DispatcherTimer an.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang
  Name Beschreibung
Öffentliches Ereignis Tick Tritt auf, wenn das Zeitgeberintervall verstrichen ist.
Zum Seitenanfang

Der DispatcherTimer wird am Anfang jeder Dispatcher-Schleife neu bewertet.

Es kann zwar nicht sichergestellt werden, dass Zeitgeber genau zum Beginn des Zeitintervalls ausgeführt werden, aber dass sie nicht vor dessen Beginn ausgeführt werden, kann sichergestellt werden. Das liegt daran, dass DispatcherTimer-Vorgänge wie andere Vorgänge in der Dispatcher-Warteschlange platziert werden. Wann der DispatcherTimer-Vorgang ausgeführt wird, hängt von den anderen Aufträgen in der Warteschlange und deren Prioritäten ab.

Wenn ein System.Timers.Timer in einer WPF-Anwendung verwendet wird, muss beachtet werden, dass der System.Timers.Timer in einem anderen Thread als der user interface (UI)-Thread ausgeführt wird. Für den Zugriff auf Objekte im user interface (UI)-Thread muss der Vorgang mit Invoke oder BeginInvoke im Dispatcher des user interface (UI)-Threads bereitgestellt werden. Die Gründe für die Verwendung eines DispatcherTimer statt eines System.Timers.Timer liegen darin, dass der DispatcherTimer im gleichen Thread wie der Dispatcher ausgeführt wird und eine DispatcherPriority für den DispatcherTimer festgelegt werden kann.

Ein DispatcherTimer behält ein Objekt bei, wenn die Methoden des Objekts an den Zeitgeber gebunden sind.

Im folgenden Beispiel wird ein DispatcherTimer erstellt, der den Inhalt eines Label aktualisiert und die InvalidateRequerySuggested-Methode für den CommandManager aufruft.

Ein DispatcherTimer-Objekt mit dem Namen dispatcherTimer wird erstellt. Der dispatcherTimer_Tick des Ereignishandlers wird dem Tick-Ereignis des dispatcherTimer hinzugefügt. Das Interval wird mit einem TimeSpan-Objekt auf 1 Sekunde festgelegt, und der Zeitgeber wird gestartet.


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


Der Tick-Ereignishandler aktualisiert ein Label, das die aktuelle Sekunde anzeigt, und er ruft InvalidateRequerySuggested für den CommandManager auf.


//  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

Unterstützt in: 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ