Compartir a través de


DispatcherPriority Enumeración

Definición

Describe las prioridades con las que se pueden invocar operaciones por medio de Dispatcher.

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

Campos

ApplicationIdle 2

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

Background 4

El valor de enumeración es 4. Las operaciones se procesan una vez completadas todas las demás operaciones no inactivas.

ContextIdle 3

El valor de enumeración es 3. Las operaciones se procesan cuando las operaciones en segundo plano se han completado.

DataBind 8

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

Inactive 0

El valor de enumeración es 0. No se procesan las operaciones.

Input 5

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

Invalid -1

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

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 atender a los elementos que tienen la prioridad de entrada. Esto se usa específicamente al provocar el evento Loaded.

Normal 9

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

Render 7

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

Send 10

El valor de enumeración es 10. Las operaciones se procesan antes que otras operaciones asincrónicas. Ésta es la prioridad máxima.

SystemIdle 1

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

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 específico o "inactividad" 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 más alta que una operación con una prioridad de SystemIdle.

no Dispatcher 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 Dispatcher.Invoke por sí misma Dispatcher en una prioridad de Send, la operación omite la cola y se ejecuta inmediatamente.

Se aplica a