天天看點

WPF 更新UI界面資料

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);
        }
    }
           

使用

  1. 程式啟動時調用 InitializeWithDispatcher 擷取UI線程 Dispatcher
  2. 調用
Execute.OnUIThread(()=> 
                    {
                        xxxxxxxxxxxxxxxx
                    });