GuiDispatcher

Ecng.Xaml

调度器,用于向WPF UI线条提出行动,并附有分批和定期执行支持。

继承自: Disposable

实现: IDispatcher

构造函数

GuiDispatcher
public GuiDispatcher()
guiDispatcher = GuiDispatcher()

使用当前线程调度器初始化 GuiDispatcher 类的新实例 。

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

初始化了 & ##GuiDispatcher+# 类的新实例 。

dispatcher
UI 线程调度器实例 。

属性

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 ms 。

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)

执行时在 UI 线程上排队动作 。

action
执行的动作 。
AddPeriodicalAction
public IDisposable AddPeriodicalAction(Action action)
result = guiDispatcher.AddPeriodicalAction(action)

在每个调度器勾选时添加一个会执行的周期动作。返回一个可以用来删除它的指标。

action
执行的动作 。

返回值: 一个可以用来去除动作的符号.

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

执行指定动作同步 UI 线程 。

action
执行的动作 。
AddSyncAction``1
public T AddSyncAction<T>(Func<T> action)
result = guiDispatcher.AddSyncAction(action)

执行指定函数同步在 UI 线程上运行,并返回结果。

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

当一个动作在执行过程中发生错误时, 就会上升 。