WPF 更新UI界面数据
public static class Execute
{
private static Action<Action> executor = action => action();
/// <summary>
/// 初始化UI调度器
/// </summary>
public static void InitializeWithDispatcher()
{
var dispatcher = Dispatcher.CurrentDispatcher;
executor = action =>
{
if (dispatcher.CheckAccess())
action();
else dispatcher.BeginInvoke(action);
};
}
/// <summary>
/// UI线程中执行方法
/// </summary>
public static void OnUIThread(this Action action)
{
executor(action);
}
}
使用
- 程序启动时调用 InitializeWithDispatcher 获取UI线程 Dispatcher
- 调用
Execute.OnUIThread(()=>
{
xxxxxxxxxxxxxxxx
});