执行UI更改和模态对话框的后台工作

我有一个C#/ WPF应用程序,它将执行很多操作,包括UI修改(它正在加载一个宏),但我希望有一个模态窗口,其中有一些东西在等待。 加载宏工作必须在主应用程序线程中执行,但是如何打印模式窗口,因为它必须不被宏加载阻止,而是在应用程序线程中,因为它是UI事物。 目前,我将LoadMacro放在Application.Current.Dispatcher.Invoke中的BackgroundWorker中,同时显示我的等待对话框。但它并不令人满意,因为两人互相争斗来更新UI。 那我该怎么做?     
已邀请:
您无需从任何调度程序运行后台工作程序。 加载模态窗口,然后启动已订阅它的ProgressChanged事件的后台工作程序。然后,您可以在后台工作程序上传递ReportProgress以返回您喜欢的任何内容,以更新UserState属性中的模型窗口。 http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.progresschanged.aspx     

要回复问题请先登录注册