GuiDispatcher

Ecng.Xaml

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

GuiDispatcher
public GuiDispatcher()
guiDispatcher = GuiDispatcher()

Inicializa uma nova instância da classe GuiDispatcher usando o atual despachante de thread.

GuiDispatcher
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

Dispatcher
public Dispatcher Dispatcher { get; }
value = guiDispatcher.Dispatcher

Obtém a instância de despacho de linha de UI.

GlobalDispatcher
public static GuiDispatcher GlobalDispatcher { get; }
value = GuiDispatcher.GlobalDispatcher

Obtém a instância global singleton de GuiDispatcher.

Interval
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.

MaxPeriodicalActionErrors
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.

PendingActionsCount
public int PendingActionsCount { get; }
value = guiDispatcher.PendingActionsCount

Obtém o número de ações que esperam ser processadas.

Métodos

AddAction
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.
AddPeriodicalAction
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.

AddSyncAction
public void AddSyncAction(Action action)
guiDispatcher.AddSyncAction(action)

Executa a ação especificada síncrona no thread UI.

action
A acção a executar.
AddSyncAction``1
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.

CheckAccess
public bool CheckAccess()
result = guiDispatcher.CheckAccess()
DisposeManaged
protected override void DisposeManaged()
guiDispatcher.DisposeManaged()

Releases gerenciaram recursos.

FlushPendingActions
public void FlushPendingActions()
guiDispatcher.FlushPendingActions()

Solicita o processamento imediato de todas as ações em fila.

InitGlobalDispatcher
public static void InitGlobalDispatcher()
GuiDispatcher.InitGlobalDispatcher()

Inicializa o expedidor global se ainda não tiver sido criado.

InvokePeriodically
public IDisposable InvokePeriodically(Action action, TimeSpan interval)
result = guiDispatcher.InvokePeriodically(action, interval)

Eventos

Error
public event Action<Exception> Error
guiDispatcher.Error += handler

Criado quando ocorre um erro durante a execução de uma ação.