【问题标题】:Process Dispatcher Queue / Background Threads with one call一键处理调度程序队列/后台线程
【发布时间】:2014-04-17 09:35:25
【问题描述】:

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

Bootstrapper 完成后,登录视图将关闭并显示应用程序主窗口。

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

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

【问题讨论】:

标签: c# wpf multithreading dispatcher


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2014-08-07
    • 2013-09-10
    相关资源
    最近更新 更多