DispatcherPriority Wyliczenie

Definicja

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

C#
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ść .

C#
// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
    System.Windows.Threading.DispatcherPriority.Normal,
    new OneArgDelegate(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

Produkt Wersje
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7