GuiDispatcher

Ecng.Xaml

Реализация диспетчера, которая передает действия в поток пользовательского интерфейса WPF с поддержкой пакетной обработки и периодического выполнения.

Наследует: Disposable

Реализует: IDispatcher

Конструкторы

GuiDispatcher
public GuiDispatcher()
guiDispatcher = GuiDispatcher()

Инициализирует новый экземпляр класса GuiDispatcher, используя диспетчер текущего потока.

GuiDispatcher
public GuiDispatcher(Dispatcher dispatcher)
guiDispatcher = GuiDispatcher(dispatcher)

Инициализирует новый экземпляр класса GuiDispatcher.

dispatcher
Экземпляр диспетчера потоков пользовательского интерфейса.

Свойства

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

Получил экземпляр диспетчера потоков UI.

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

Получает глобальный экземпляр синглтона GuiDispatcher.

Interval
public TimeSpan Interval { get; set; }
value = guiDispatcher.Interval
guiDispatcher.Interval = value

Получает или устанавливает интервал обработки партии. По умолчанию 1 мс.

MaxPeriodicalActionErrors
public int MaxPeriodicalActionErrors { get; set; }
value = guiDispatcher.MaxPeriodicalActionErrors
guiDispatcher.MaxPeriodicalActionErrors = value

Получает или устанавливает максимальное количество ошибок, допускаемых для периодического действия, прежде чем его удалить.Использовать -1 для отключения лимита.

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

Получает количество действий, ожидающих обработки.

Методы

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

Ставит действие в очередь на выполнение в потоке пользовательского интерфейса.

action
Действие, которое необходимо выполнить.
AddPeriodicalAction
public IDisposable AddPeriodicalAction(Action action)
result = guiDispatcher.AddPeriodicalAction(action)

Добавляет периодическое действие, которое будет выполняться при каждом тике диспетчера. Возвращает токен, который можно использовать для его удаления.

action
Действие, которое необходимо выполнить.

Возвращает: Токен, который можно использовать для удаления действия.

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

Выполняет указанное действие синхронно в потоке пользовательского интерфейса.

action
Действие, которое необходимо выполнить.
AddSyncAction``1
public T AddSyncAction<T>(Func<T> action)
result = guiDispatcher.AddSyncAction(action)

Синхронно выполняет указанную функцию в потоке пользовательского интерфейса и возвращает ее результат.

action
Функция для выполнения.

Возвращает: Результат функции.

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

Освобождает управляемые ресурсы.

FlushPendingActions
public void FlushPendingActions()
guiDispatcher.FlushPendingActions()

Запрашивает немедленную обработку всех действий в очереди.

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

Инициализирует глобальный диспетчер, если он еще не создан.

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

События

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

Возникает, когда во время выполнения действия возникает ошибка.