DispatcherPriority Enumeração

Definição

Descreve as prioridades em que as operações podem ser invocadas por meio do Dispatcher.

public enum class DispatcherPriority
public enum DispatcherPriority
type DispatcherPriority = 
Public Enum DispatcherPriority
Herança
DispatcherPriority

Campos

Name Valor Description
Invalid -1

O valor de enumeração é -1. Isto é uma prioridade inválida.

Inactive 0

O valor da enumeração é 0. As operações não são processadas.

SystemIdle 1

O valor de enumeração é 1. As operações são processadas quando o sistema está inativo.

ApplicationIdle 2

O valor de enumeração é 2. As operações são processadas quando a aplicação está inativa.

ContextIdle 3

O valor de enumeração é 3. As operações são processadas após a conclusão das operações em segundo plano.

Background 4

O valor de enumeração é 4. As operações são processadas após todas as outras operações não ociosas serem concluídas.

Input 5

O valor de enumeração é 5. As operações são processadas com a mesma prioridade que a entrada.

Loaded 6

O valor de enumeração é 6. As operações são processadas quando o layout e a renderização terminam, mas pouco antes de os itens com prioridade de entrada serem atendidos. Especificamente, isto é usado ao levantar o evento Loaded.

Render 7

O valor de enumeração é 7. Operações processadas com a mesma prioridade que a renderização.

DataBind 8

O valor de enumeração é 8. As operações são processadas com a mesma prioridade que a ligação de dados.

Normal 9

O valor de enumeração é 9. As operações são processadas com prioridade normal. Esta é a prioridade típica da aplicação.

Send 10

O valor de enumeração é 10. As operações são processadas antes de outras operações assíncronas. Esta é a prioridade máxima.

Exemplos

O exemplo seguinte chama o Dispatcher.BeginInvoke método e passa-lhe um delegado com um argumento. A prioridade está definida para 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)

Observações

Não existe um estado específico do sistema ou "ociosidade" correspondente a ApplicationIdle e ContextIdle na versão atual do WPF. Ambos continuam a ser prioridades válidas; uma operação com prioridade de ContextIdle tem uma prioridade superior a uma operação com prioridade de SystemIdle.

Não Dispatcher limita a execução de uma operação se esta exceder uma certa percentagem da CPU. Uma forma de limitar um processo é usar um temporizador.

Se uma operação for publicada sozinha Dispatcher.InvokeDispatcher com prioridade de Send, a operação contorna a fila e é imediatamente executada.

Aplica-se a