0

我想做一系列动作,同时依赖它抛出的异常或不抛出任何异常更新我的 UI,我怎样才能实现这样的事情?

我已经尝试为每个步骤创建新线程,但它不会等到一个步骤结束并且它总是写入失败消息,使用 Thread.Join() 也没有帮助,因为它也阻塞了 UI 线程......

4

1 回答 1

2

你需要BackgroundWorker。将要在后台线程中执行的代码放入DoWork处理程序中,将更新 UI 的代码放入RunWorkerCompleted事件处理程序中。

如果您想在DoWork处理程序之间更新 GUI,您可以像这样在 UI 调度程序上将其排队 -

App.Current.Dispatcher.BeginInvoke((Action)delegate
        {
           // Update GUI here.
        }, null);
于 2013-01-27T08:40:13.637 回答