DispatcherPriority Enumeración

Definición

Describe las prioridades con las que se pueden invocar operaciones por medio de 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
Herencia
DispatcherPriority

Campos

ApplicationIdle 2

El valor de enumeración es 2.The enumeration value is 2. Las operaciones se procesan cuando la aplicación está inactiva.Operations are processed when the application is idle.

Background 4

El valor de enumeración es 4.The enumeration value is 4. Las operaciones se procesan una vez completadas todas las demás operaciones no inactivas.Operations are processed after all other non-idle operations are completed.

ContextIdle 3

El valor de enumeración es 3.The enumeration value is 3. Las operaciones se procesan cuando las operaciones en segundo plano se han completado.Operations are processed after background operations have completed.

DataBind 8

El valor de enumeración es 8.The enumeration value is 8. Las operaciones se procesan con la misma prioridad que el enlace de datos.Operations are processed at the same priority as data binding.

Inactive 0

El valor de enumeración es 0.The enumeration value is 0. No se procesan las operaciones.Operations are not processed.

Input 5

El valor de enumeración es 5.The enumeration value is 5. Las operaciones se procesan con la misma prioridad que la entrada.Operations are processed at the same priority as input.

Invalid -1

El valor de enumeración es -1.The enumeration value is -1. Ésta es una prioridad no válida.This is an invalid priority.

Loaded 6

El valor de enumeración es 6.The enumeration value is 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.Operations are processed when layout and render has finished but just before items at input priority are serviced. Esto se usa específicamente al provocar el evento Loaded.Specifically this is used when raising the Loaded event.

Normal 9

El valor de enumeración es 9.The enumeration value is 9. Las operaciones se procesan con la prioridad normal.Operations are processed at normal priority. Ésta es la prioridad de la aplicación típica.This is the typical application priority.

Render 7

El valor de enumeración es 7.The enumeration value is 7. Las operaciones se procesan con la misma prioridad que la representación.Operations processed at the same priority as rendering.

Send 10

El valor de enumeración es 10.The enumeration value is 10. Las operaciones se procesan antes que otras operaciones asincrónicas.Operations are processed before other asynchronous operations. Ésta es la prioridad máxima.This is the highest priority.

SystemIdle 1

El valor de enumeración es 1.The enumeration value is 1. Las operaciones se procesan cuando el sistema está inactivo.Operations are processed when the system is idle.

Ejemplos

En el ejemplo siguiente se llama al Dispatcher.BeginInvoke método y se le pasa un delegado con un argumento.The following example calls the Dispatcher.BeginInvoke method and passes it a delegate with one argument. La prioridad se establece en 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)

Comentarios

No hay ningún estado del sistema o de inactividad específico que se corresponda con ApplicationIdle y ContextIdle en la versión actual de WPF.There is no specific system state or "idleness" corresponding to ApplicationIdle and ContextIdle in the current version of WPF. Ambos 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 .Both are still valid priorities; an operation with a priority of ContextIdle has a higher priority than an operation with a priority of SystemIdle.

No Dispatcher limita la ejecución de una operación si supera un determinado porcentaje de la CPU.The Dispatcher does not throttle the execution of an operation if it exceeds a certain percentage of the CPU. Una manera de limitar un proceso es usar un temporizador.One way to throttle a process is to use a timer.

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

Se aplica a