Freigeben über


DispatcherPriority Enumeration

Definition

Beschreibt die Prioritäten, mit denen Vorgänge über den Dispatcher aufgerufen werden können.

public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority = 
Public Enum DispatcherPriority
Vererbung
DispatcherPriority

Felder

ApplicationIdle 2

Der Enumerationswert ist 2. Vorgänge werden verarbeitet, wenn sich die Anwendung im Leerlauf befindet.

Background 4

Der Enumerationswert ist 4. Vorgänge werden verarbeitet, sobald alle Vorgänge außer den nicht im Leerlauf befindlichen abgeschlossen sind.

ContextIdle 3

Der Enumerationswert ist 3. Vorgänge werden verarbeitet, sobald die Hintergrundvorgänge abgeschlossen sind.

DataBind 8

Der Enumerationswert ist 8. Vorgänge werden mit gleicher Priorität wie die Datenbindung verarbeitet.

Inactive 0

Der Enumerationswert ist 0. Vorgänge werden nicht verarbeitet.

Input 5

Der Enumerationswert ist 5. Vorgänge werden mit gleicher Priorität wie die Eingabe verarbeitet.

Invalid -1

Der Enumerationswert ist -1. Dies ist eine ungültige Priorität.

Loaded 6

Der Enumerationswert ist 6. Vorgänge werden verarbeitet, sobald Layout und Wiedergabe beendet sind, aber bevor Elemente mit Eingabepriorität verarbeitet werden. Dieser wird insbesondere verwendet, wenn das Loaded-Ereignis ausgelöst wird.

Normal 9

Der Enumerationswert ist 9. Vorgänge werden mit normaler Priorität verarbeitet. Dies ist die häufigste Anwendungspriorität.

Render 7

Der Enumerationswert ist 7. Vorgänge werden mit gleicher Priorität wie das Rendering verarbeitet.

Send 10

Der Enumerationswert ist 10. Vorgänge werden vor anderen asynchronen Vorgängen verarbeitet. Dies ist die höchste Priorität.

SystemIdle 1

Der Enumerationswert ist 1. Vorgänge werden verarbeitet, wenn sich das System im Leerlauf befindet.

Beispiele

Im folgenden Beispiel wird die Dispatcher.BeginInvoke Methode aufgerufen und eine Stellvertretung mit einem Argument übergeben. Die Priorität wird auf Normal.

// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
    System.Windows.Threading.DispatcherPriority.Normal,
    new OneArgDelegate(UpdateUserInterface), 
    weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)

Hinweise

Es gibt keinen bestimmten Systemstatus oder "Leerlauf", der und in der aktuellen Version von WPF entspricht ApplicationIdle ContextIdle . Beide sind noch gültige Prioritäten; ein Vorgang mit einer Priorität ContextIdle hat eine höhere Priorität als ein Vorgang mit einer Priorität von SystemIdle.

Die Dispatcher Ausführung eines Vorgangs wird nicht gedrosselt, wenn er einen bestimmten Prozentsatz der CPU überschreitet. Eine Möglichkeit zum Drosseln eines Prozesses besteht darin, einen Timer zu verwenden.

Wenn ein Vorgang mit Dispatcher.Invoke einer eigenen Dispatcher Priorität Sendgepostet wird, wird der Vorgang die Warteschlange umgehen und sofort ausgeführt.

Gilt für