DispatcherPriority Enumeration

Definition

Beschreibt die Prioritäten, bei denen Vorgänge über die Dispatcheraufgerufen werden können.

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

Felder

Name Wert Beschreibung
Invalid -1

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

Inactive 0

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

SystemIdle 1

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

ApplicationIdle 2

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

ContextIdle 3

Der Enumerationswert ist 3. Vorgänge werden verarbeitet, nachdem Hintergrundvorgänge abgeschlossen wurden.

Background 4

Der Enumerationswert ist 4. Vorgänge werden verarbeitet, nachdem alle anderen Nicht-Leerlaufvorgänge abgeschlossen wurden.

Input 5

Der Enumerationswert ist 5. Vorgänge werden mit der gleichen Priorität wie Eingaben verarbeitet.

Loaded 6

Der Enumerationswert ist 6. Vorgänge werden verarbeitet, wenn das Layout und das Rendern abgeschlossen ist, aber unmittelbar bevor Elemente bei der Eingabepriorität gewartet werden. Dies wird insbesondere beim Auslösen des Loaded-Ereignisses verwendet.

Render 7

Der Enumerationswert ist 7. Vorgänge, die mit der gleichen Priorität verarbeitet werden wie das Rendern.

DataBind 8

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

Normal 9

Der Enumerationswert ist 9. Vorgänge werden bei normaler Priorität verarbeitet. Dies ist die typische Anwendungspriorität.

Send 10

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

Beispiele

Im folgenden Beispiel wird die Dispatcher.BeginInvoke Methode aufgerufen und ein Delegat 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 ApplicationIdle und ContextIdle in der aktuellen Version von WPF entspricht. Beide sind nach wie vor gültige Prioritäten; ein Vorgang mit einer Priorität hat ContextIdle 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 ist die Verwendung eines Timers.

Wenn ein Vorgang eigenständig Dispatcher.Invoke mit einer Dispatcher Priorität Sendgepostet wird, wird die Warteschlange von dem Vorgang umgangen und sofort ausgeführt.

Gilt für: