DispatcherPriority Wyliczenie

Definicja

Opisuje priorytety, w których operacje mogą być wywoływane za pomocą metody Dispatcher.

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

Pola

ApplicationIdle 2

Wartość wyliczenia to 2. Operacje są przetwarzane, gdy aplikacja jest bezczynna.

Background 4

Wartość wyliczenia to 4. Operacje są przetwarzane po zakończeniu wszystkich innych operacji bezczynności.

ContextIdle 3

Wartość wyliczenia to 3. Operacje są przetwarzane po zakończeniu operacji w tle.

DataBind 8

Wartość wyliczenia to 8. Operacje są przetwarzane z tym samym priorytetem co powiązanie danych.

Inactive 0

Wartość wyliczenia to 0. Operacje nie są przetwarzane.

Input 5

Wartość wyliczenia to 5. Operacje są przetwarzane w tym samym priorycie co dane wejściowe.

Invalid -1

Wartość wyliczenia to -1. Jest to nieprawidłowy priorytet.

Loaded 6

Wartość wyliczenia to 6. Operacje są przetwarzane po zakończeniu układu i renderowania, ale tuż przed elementami z priorytetem danych wejściowych są obsługiwane. W szczególności jest to używane podczas wywoływana zdarzenia Załadowane.

Normal 9

Wartość wyliczenia to 9. Operacje są przetwarzane z normalnym priorytetem. Jest to typowy priorytet aplikacji.

Render 7

Wartość wyliczenia to 7. Operacje przetwarzane w tym samym priorycie co renderowanie.

Send 10

Wartość wyliczenia to 10. Operacje są przetwarzane przed innymi operacjami asynchronicznymi. Jest to najwyższy priorytet.

SystemIdle 1

Wartość wyliczenia to 1. Operacje są przetwarzane, gdy system jest bezczynny.

Przykłady

Poniższy przykład wywołuje metodę Dispatcher.BeginInvoke i przekazuje go delegatowi z jednym argumentem. Priorytet jest ustawiony na Normalwartość .

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

Uwagi

Nie ma określonego stanu systemu ani "bezczynności" odpowiadającego ApplicationIdle i ContextIdle w bieżącej wersji WPF. Oba są nadal ważnymi priorytetami; operacja z priorytetem ContextIdle ma wyższy priorytet niż operacja z priorytetem SystemIdle.

Element Dispatcher nie ogranicza wykonywania operacji, jeśli przekracza określony procent procesora CPU. Jednym ze sposobów ograniczania procesu jest użycie czasomierza.

Jeśli operacja jest publikowana Dispatcher.Invoke samodzielnie Dispatcher z priorytetem Send, operacja pomija kolejkę i jest natychmiast wykonywana.

Dotyczy