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

Nome Valor Description
Invalid -1

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

Inactive 0

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

SystemIdle 1

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

ApplicationIdle 2

O valor da enumeração é 2. As operações são processadas quando o aplicativo está ocioso.

ContextIdle 3

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

Background 4

O valor da enumeração é 4. As operações são processadas depois que todas as outras operações não ociosas são concluídas.

Input 5

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

Loaded 6

O valor da enumeração é 6. As operações são processadas quando o layout e a renderização são concluídos, mas pouco antes dos itens na prioridade de entrada serem atendidos. Especificamente, isso é usado ao gerar o evento Loaded.

Render 7

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

DataBind 8

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

Normal 9

O valor da enumeração é 9. As operações são processadas com prioridade normal. Essa é a prioridade típica do aplicativo.

Send 10

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

Exemplos

O exemplo a seguir chama o Dispatcher.BeginInvoke método e passa um delegado com um argumento. A prioridade é 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. Ambas ainda são prioridades válidas; uma operação com prioridade ContextIdle de tem uma prioridade maior do que uma operação com uma prioridade de SystemIdle.

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

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

Aplica-se a