Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
DispatcherTimer-Klasse
Ein Zeitgeber, der in die Dispatcher-Warteschlange integriert ist, die in einem festgelegten Zeitintervall und mit einer festgelegten Priorität verarbeitet wird.
Assembly: WindowsBase (in WindowsBase.dll)
XMLNS für XAML: Keinem xmlns zugeordnet.
Der DispatcherTimer-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
DispatcherTimer() | Initialisiert eine neue Instanz der DispatcherTimer-Klasse. |
|
DispatcherTimer(DispatcherPriority) | Initialisiert eine neue Instanz der DispatcherTimer-Klasse, die Zeitgeberereignisse mit der angegebenen Priorität verarbeitet. |
|
DispatcherTimer(DispatcherPriority, Dispatcher) | Initialisiert eine neue Instanz der DispatcherTimer-Klasse, die im angegebenen Dispatcher mit der angegebenen Priorität ausgeführt wird. |
|
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. |
| Name | Beschreibung | |
|---|---|---|
|
Dispatcher | Ruft den diesem DispatcherTimer zugeordneten Dispatcher ab. |
|
Interval | Ruft den Zeitraum zwischen den Ticks des Zeitgebers ab oder legt diesen fest. |
|
IsEnabled | Ruft einen Wert ab, mit dem angegeben wird, ob der Zeitgeber ausgeführt wird, oder legt diesen Wert fest. |
|
Tag | Ruft ein benutzerdefiniertes Datenobjekt ab oder legt es fest. |
| Name | Beschreibung | |
|---|---|---|
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
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.) |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
Start | Startet den DispatcherTimer. |
|
Stop | Hält den DispatcherTimer an. |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
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.
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(); }
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.