WPF 耗时操作时,加载loging 动画 (BackgroundWorker 使用方法)
1.定义一个全局 BackgroundWorker
private System.ComponentModel.BackgroundWorker bgMeet0;
2.设置执行耗时的任务为True
bgMeet0 = new System.ComponentModel.BackgroundWorker(); bgMeet0.WorkerReportsProgress = true;
3.开始执行任务事件
bgMeet0.DoWork += new DoWorkEventHandler((s, es) => { this.Dispatcher.Invoke(new Action(() => { //启动动画 })); #region 耗时操作 //查询SQL 等耗时操作 #endregion
});
4.任务结束事件
bgMeet0.RunWorkerCompleted += new RunWorkerCompletedEventHandler((s, es) => { this.Dispatcher.Invoke(new Action(() => { //结束动画 })); #region 执行完毕 //将查询的 datatable 赋值到datagrid 等操作 #endregion });
bgMeet0.RunWorkerAsync();