一次调用进程调度程序队列/后台线程

时间:2014-04-17 09:35:25

标签: c# wpf multithreading dispatcher

我有一个WPF应用程序和一个使用单独的线程的登录窗口。在我的主线程上,应用程序正在加载(PRISM模块等),并将进度报告给我的登录窗口。

当Bootstrapper完成后,将关闭Login View并显示Application MainWindow。

为了确保每个后台工作或Dispatcher活动完成,我想在显示MainWindow之前调用方法。

是否有任何方法可以处理所有待处理的后台任务/ Dispatcher队列项?

1 个答案:

答案 0 :(得分:1)

您可以检查调度程序是否处于空闲状态,以确保不存在任何操作。

为此,您可以使用Dispatcher.CurrentDispatcher.Hooks挂钩调度程序

在此之后你可以为hooks.DispatcherInactive添加一个事件处理程序+ = DispatcherInactiveHandler

那应该告诉你Dispatcher当前是否为空。