DispatcherPriority Enumerazione

Definizione

Descrive le priorità in base alle quali è possibile richiamare le operazioni tramite Dispatcher.Describes the priorities at which operations can be invoked by way of the Dispatcher.

public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority = 
Public Enum DispatcherPriority
Ereditarietà
DispatcherPriority

Campi

ApplicationIdle 2

Il valore di enumerazione è 2.The enumeration value is 2. Le operazioni vengono elaborate quando l'applicazione è inattiva.Operations are processed when the application is idle.

Background 4

Il valore di enumerazione è 4.The enumeration value is 4. Le operazioni vengono elaborate dopo il completamento di tutte le altre operazioni non inattive.Operations are processed after all other non-idle operations are completed.

ContextIdle 3

Il valore di enumerazione è 3.The enumeration value is 3. Le operazioni vengono elaborate dopo il completamento delle operazioni in background.Operations are processed after background operations have completed.

DataBind 8

Il valore di enumerazione è 8.The enumeration value is 8. Le operazioni vengono elaborate con lo stesso livello di priorità dell'associazione dati.Operations are processed at the same priority as data binding.

Inactive 0

Il valore di enumerazione è 0.The enumeration value is 0. Le operazioni non vengono elaborate.Operations are not processed.

Input 5

Il valore di enumerazione è 5.The enumeration value is 5. Le operazioni vengono elaborate con lo stesso livello di priorità dell'input.Operations are processed at the same priority as input.

Invalid -1

Il valore di enumerazione è -1.The enumeration value is -1. Si tratta di una priorità non valida.This is an invalid priority.

Loaded 6

Il valore di enumerazione è 6.The enumeration value is 6. Le operazioni vengono elaborate al termine delle attività di layout e rendering ma immediatamente prima della gestione degli elementi con priorità di input.Operations are processed when layout and render has finished but just before items at input priority are serviced. In particolare, questo valore viene utilizzato quando viene generato l'evento Loaded.Specifically this is used when raising the Loaded event.

Normal 9

Il valore di enumerazione è 9.The enumeration value is 9. Le operazioni vengono elaborate con priorità normale.Operations are processed at normal priority. Si tratta della priorità tipica dell'applicazione.This is the typical application priority.

Render 7

Il valore di enumerazione è 7.The enumeration value is 7. Le operazioni vengono elaborate con lo stesso livello di priorità del rendering.Operations processed at the same priority as rendering.

Send 10

Il valore di enumerazione è 10.The enumeration value is 10. Le operazioni vengono elaborate prima di altre operazioni asincrone.Operations are processed before other asynchronous operations. Si tratta della priorità più elevata.This is the highest priority.

SystemIdle 1

Il valore di enumerazione è 1.The enumeration value is 1. Le operazioni vengono elaborate quando il sistema è inattivo.Operations are processed when the system is idle.

Esempio

Nell'esempio seguente viene chiamato Dispatcher.BeginInvoke il metodo e viene passato un delegato con un argomento.The following example calls the Dispatcher.BeginInvoke method and passes it a delegate with one argument. La priorità è impostata su Normal.The priority is set to 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)

Commenti

Non esiste alcuno stato del sistema specifico o "inattività" corrispondente ApplicationIdle a ContextIdle e nella versione corrente di WPF.There is no specific system state or "idleness" corresponding to ApplicationIdle and ContextIdle in the current version of WPF. Entrambe le priorità sono ancora valide; un'operazione con una priorità ContextIdle ha una priorità maggiore rispetto a un'operazione con SystemIdlepriorità.Both are still valid priorities; an operation with a priority of ContextIdle has a higher priority than an operation with a priority of SystemIdle.

Il Dispatcher non limita l'esecuzione di un'operazione se supera una determinata percentuale della CPU.The Dispatcher does not throttle the execution of an operation if it exceeds a certain percentage of the CPU. Un modo per limitare un processo per l'uso di un timer.One way to throttle a process it to use a timer.

Se un'operazione viene inviata usando Dispatcher.Invoke autonomamente Dispatcher con la priorità Send, l'operazione ignora la coda e viene immediatamente eseguita.If an operation is posted using Dispatcher.Invoke on its own Dispatcher at a priority of Send, the operation bypasses the queue and is immediately executed.

Si applica a