GuiDispatcher
Implementação do despachante que define ações para o thread de interface WPF com batching e suporte de execução periódica.
Herda de: Disposable
Implementa: IDispatcher
Construtores
public GuiDispatcher()
guiDispatcher = GuiDispatcher()
Inicializa uma nova instância da classe GuiDispatcher usando o atual despachante de thread.
public GuiDispatcher(Dispatcher dispatcher)
guiDispatcher = GuiDispatcher(dispatcher)
Inicializa uma nova instância da classe GuiDispatcher.
- dispatcher
- A instância de despacho de linha de UI.
Propriedades
public Dispatcher Dispatcher { get; }
value = guiDispatcher.Dispatcher
Obtém a instância de despacho de linha de UI.
public static GuiDispatcher GlobalDispatcher { get; }
value = GuiDispatcher.GlobalDispatcher
Obtém a instância global singleton de GuiDispatcher.
public TimeSpan Interval { get; set; }
value = guiDispatcher.Interval
guiDispatcher.Interval = value
Obtém ou define o intervalo de processamento em lote. O padrão é 1 ms.
public int MaxPeriodicalActionErrors { get; set; }
value = guiDispatcher.MaxPeriodicalActionErrors
guiDispatcher.MaxPeriodicalActionErrors = value
Obtém ou define o número máximo de erros permitidos para uma ação periódica antes de ser removida. Use - 1 para desativar o limite.
public int PendingActionsCount { get; }
value = guiDispatcher.PendingActionsCount
Obtém o número de ações que esperam ser processadas.
Métodos
public void AddAction(Action action)
guiDispatcher.AddAction(action)
Fila uma ação para execução no tópico UI.
- action
- A acção a executar.
public IDisposable AddPeriodicalAction(Action action)
result = guiDispatcher.AddPeriodicalAction(action)
Adiciona uma ação periódica que será executada em cada despachor. Devolve um item que pode ser usado para removê- lo.
- action
- A acção a executar.
Retorna: Um símbolo que pode ser usado para remover a ação.
public void AddSyncAction(Action action)
guiDispatcher.AddSyncAction(action)
Executa a ação especificada síncrona no thread UI.
- action
- A acção a executar.
public T AddSyncAction<T>(Func<T> action)
result = guiDispatcher.AddSyncAction(action)
Executa a função especificada síncrona no thread UI e retorna seu resultado.
- action
- A função a executar.
Retorna: O resultado da função.
protected override void DisposeManaged()
guiDispatcher.DisposeManaged()
Releases gerenciaram recursos.
public void FlushPendingActions()
guiDispatcher.FlushPendingActions()
Solicita o processamento imediato de todas as ações em fila.
public static void InitGlobalDispatcher()
GuiDispatcher.InitGlobalDispatcher()
Inicializa o expedidor global se ainda não tiver sido criado.
public IDisposable InvokePeriodically(Action action, TimeSpan interval)
result = guiDispatcher.InvokePeriodically(action, interval)
Eventos
public event Action<Exception> Error
guiDispatcher.Error += handler
Criado quando ocorre um erro durante a execução de uma ação.