Partilhar via


DispatcherPriority Enumeração

Definição

Descreve as prioridades nas quais 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

ApplicationIdle 2

O valor de enumeração é 2. As operações serão processadas quando o aplicativo estiver ocioso.

Background 4

O valor de enumeração é 4. As operações serão processadas após a conclusão de todas as outras operações não ociosas.

ContextIdle 3

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

DataBind 8

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

Inactive 0

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

Input 5

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

Invalid -1

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

Loaded 6

O valor de enumeração é 6. As operações serão processadas quando o layout e a renderização tiverem terminado, mas antes que os itens com prioridade de entrada sejam atendidos. Especificamente, isso é usado ao gerar o evento Loaded.

Normal 9

O valor de enumeração é 9. As operações serão processadas com prioridade normal. Esta é a prioridade típica do aplicativo.

Render 7

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

Send 10

O valor de enumeração é 10. As operações serão processadas antes de outras operações assíncronas. Esta é a prioridade mais alta.

SystemIdle 1

O valor de enumeração é 1. As operações serão processadas quando o sistema estiver ocioso.

Exemplos

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

Comentários

Não há nenhum estado específico do sistema ou "ociosidade" correspondente a ApplicationIdle e ContextIdle na versão atual do WPF. Ambos ainda são prioridades válidas; uma operação com prioridade ContextIdle de ter uma prioridade maior do que uma operação com prioridade de SystemIdle.

O Dispatcher não limita a execução de uma operação se exceder um determinado percentual da CPU. Uma maneira de limitar um processo é usar um temporizador.

Se uma operação for postada por Dispatcher.Invoke conta própria Dispatcher com prioridade Send, a operação ignorará a fila e será executada imediatamente.

Aplica-se a