DispatcherPriority Enumeración

Definición

Describe las prioridades en las que se pueden invocar las operaciones mediante el Dispatcher.

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

Campos

Nombre Valor Description
Invalid -1

El valor de enumeración es -1. Se trata de una prioridad no válida.

Inactive 0

El valor de enumeración es 0. Las operaciones no se procesan.

SystemIdle 1

El valor de enumeración es 1. Las operaciones se procesan cuando el sistema está inactivo.

ApplicationIdle 2

El valor de enumeración es 2. Las operaciones se procesan cuando la aplicación está inactiva.

ContextIdle 3

El valor de enumeración es 3. Las operaciones se procesan después de que se hayan completado las operaciones en segundo plano.

Background 4

El valor de enumeración es 4. Las operaciones se procesan después de que se completen todas las demás operaciones no inactivas.

Input 5

El valor de enumeración es 5. Las operaciones se procesan con la misma prioridad que la entrada.

Loaded 6

El valor de enumeración es 6. Las operaciones se procesan cuando el diseño y la representación han finalizado, pero justo antes de que se acaben los elementos con prioridad de entrada. En concreto, esto se usa al generar el evento Loaded.

Render 7

El valor de enumeración es 7. Las operaciones procesadas con la misma prioridad que la representación.

DataBind 8

El valor de enumeración es 8. Las operaciones se procesan con la misma prioridad que el enlace de datos.

Normal 9

El valor de enumeración es 9. Las operaciones se procesan con prioridad normal. Esta es la prioridad típica de la aplicación.

Send 10

El valor de enumeración es 10. Las operaciones se procesan antes de otras operaciones asincrónicas. Esta es la prioridad más alta.

Ejemplos

En el ejemplo siguiente se llama al Dispatcher.BeginInvoke método y se pasa un delegado con un argumento. La prioridad se establece en 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)

Comentarios

No hay ningún estado del sistema o "inactividad" específico correspondiente a ApplicationIdle y ContextIdle en la versión actual de WPF. Ambas siguen siendo prioridades válidas; una operación con una prioridad de ContextIdle tiene una prioridad mayor que una operación con una prioridad de SystemIdle.

Dispatcher no limita la ejecución de una operación si supera un porcentaje determinado de la CPU. Una manera de limitar un proceso es usar un temporizador.

Si una operación se publica usando por Dispatcher.Invoke sí misma Dispatcher en una prioridad de Send, la operación omite la cola y se ejecuta inmediatamente.

Se aplica a