DispatcherTimer DispatcherTimer DispatcherTimer DispatcherTimer Class

Definition

Ein Zeitgeber, der in die Dispatcher-Warteschlange integriert ist, die in einem festgelegten Zeitintervall und mit einer festgelegten Priorität verarbeitet wird.A timer that is integrated into the Dispatcher queue which is processed at a specified interval of time and at a specified priority.

public ref class DispatcherTimer
public class DispatcherTimer
type DispatcherTimer = class
Public Class DispatcherTimer
Vererbung
DispatcherTimerDispatcherTimerDispatcherTimerDispatcherTimer

Beispiele

Das folgende Beispiel erstellt eine DispatcherTimer , aktualisiert den Inhalt des eine Label und ruft die InvalidateRequerySuggested Methode für die CommandManager.The following example creates a DispatcherTimer that updates the contents of a Label and calls the InvalidateRequerySuggested method on the CommandManager.

Ein DispatcherTimer Objekt mit dem Namen dispatcherTimer erstellt wird.A DispatcherTimer object named dispatcherTimer is created. Der Ereignishandler dispatcherTimer_Tick wird hinzugefügt, um die Tick Ereignis dispatcherTimer.The event handler dispatcherTimer_Tick is added to the Tick event of dispatcherTimer. Die Interval mit auf 1 Sekunde festgelegt ist eine TimeSpan -Objekt, und der Timer wird gestartet.The Interval is set to 1 second using a TimeSpan object, and the timer is started.

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

Die Tick Ereignishandler aktualisiert eine Label , die die aktuelle Sekunde anzeigt, und er ruft InvalidateRequerySuggested auf die CommandManager.The Tick event handler updates a Label that displays the current second, and it calls InvalidateRequerySuggested on the CommandManager.

//  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();
}
'  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 Sub dispatcherTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
	' Updating the Label which displays the current second
	lblSeconds.Content = Date.Now.Second

	' Forcing the CommandManager to raise the RequerySuggested event
	CommandManager.InvalidateRequerySuggested()
End Sub

Hinweise

Die DispatcherTimer wird erneut ausgewertet, am oberen Rand jedes Dispatcher Schleife.The DispatcherTimer is reevaluated at the top of every Dispatcher loop.

Timer sind nicht unbedingt ausgeführt werden, genau, wenn das Zeitintervall ausgeführt werden soll, aber sie garantiert nicht ausgeführt werden werden, vor das angegebenen Zeitintervall.Timers are not guaranteed to execute exactly when the time interval occurs, but they are guaranteed to not execute before the time interval occurs. Grund hierfür ist, DispatcherTimer Vorgänge befinden sich auf die Dispatcher Warteschlange wie andere Vorgänge.This is because DispatcherTimer operations are placed on the Dispatcher queue like other operations. Wenn die DispatcherTimer ausführt richtet sich nach der anderen Aufträge in der Warteschlange und ihren Prioritäten.When the DispatcherTimer operation executes is dependent on the other jobs in the queue and their priorities.

Wenn eine System.Timers.Timer werden in einer WPFWPF Anwendung, beachten Sie, dass es sich handelt die System.Timers.Timer ausgeführt wird, auf einem anderen Thread als der Benutzeroberfläche (User Interface, UI)user interface (UI) Thread.If a System.Timers.Timer is used in a WPFWPF application, it is worth noting that the System.Timers.Timer runs on a different thread than the Benutzeroberfläche (User Interface, UI)user interface (UI) thread. Um den Zugriff auf Objekte auf der Benutzeroberfläche (User Interface, UI)user interface (UI) Thread ist es erforderlich, veröffentlichen den Vorgang auf die Dispatcher von der Benutzeroberfläche (User Interface, UI)user interface (UI) thread mithilfe Invoke oder BeginInvoke.In order to access objects on the Benutzeroberfläche (User Interface, UI)user interface (UI) thread, it is necessary to post the operation onto the Dispatcher of the Benutzeroberfläche (User Interface, UI)user interface (UI) thread using Invoke or BeginInvoke. Gründe für die Verwendung eine DispatcherTimer im Gegensatz zu einer System.Timers.Timer sind, die die DispatcherTimer ausgeführt wird, auf dem gleichen Thread wie der Dispatcher und ein DispatcherPriority für festgelegt werden können die DispatcherTimer.Reasons for using a DispatcherTimer as opposed to a System.Timers.Timer are that the DispatcherTimer runs on the same thread as the Dispatcher and a DispatcherPriority can be set on the DispatcherTimer.

Ein DispatcherTimer wird beibehalten ein Objekts, wenn die Methoden des Objekts auf den Timer gebunden sind.A DispatcherTimer will keep an object alive whenever the object's methods are bound to the timer.

Konstruktoren

DispatcherTimer() DispatcherTimer() DispatcherTimer() DispatcherTimer()

Initialisiert eine neue Instanz der DispatcherTimer-Klasse.Initializes a new instance of the DispatcherTimer class.

DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority)

Initialisiert eine neue Instanz der DispatcherTimer-Klasse, die Zeitgeberereignisse mit der angegebenen Priorität verarbeitet.Initializes a new instance of the DispatcherTimer class which processes timer events at the specified priority.

DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher)

Initialisiert eine neue Instanz der DispatcherTimer-Klasse, die im angegebenen Dispatcher mit der angegebenen Priorität ausgeführt wird.Initializes a new instance of the DispatcherTimer class which runs on the specified Dispatcher at the specified priority.

DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) 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.Initializes a new instance of the DispatcherTimer class which uses the specified time interval, priority, event handler, and Dispatcher.

Eigenschaften

Dispatcher Dispatcher Dispatcher Dispatcher

Ruft den diesem Dispatcher zugeordneten DispatcherTimer ab.Gets the Dispatcher associated with this DispatcherTimer.

Interval Interval Interval Interval

Ruft den Zeitraum zwischen den Ticks des Zeitgebers ab oder legt diesen fest.Gets or sets the period of time between timer ticks.

IsEnabled IsEnabled IsEnabled IsEnabled

Ruft einen Wert ab, mit dem angegeben wird, ob der Zeitgeber ausgeführt wird, oder legt diesen Wert fest.Gets or sets a value that indicates whether the timer is running.

Tag Tag Tag Tag

Ruft ein benutzerdefiniertes Datenobjekt ab oder legt es fest.Gets or sets a user-defined data object.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Start() Start() Start() Start()

Startet den DispatcherTimer.Starts the DispatcherTimer.

Stop() Stop() Stop() Stop()

Hält den DispatcherTimer an.Stops the DispatcherTimer.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Ereignisse

Tick Tick Tick Tick

Tritt auf, wenn das Zeitgeberintervall verstrichen ist.Occurs when the timer interval has elapsed.

Gilt für: