Wpf 当调度程序处理挂起时,如何显示要同步使用的消息?

Wpf 当调度程序处理挂起时,如何显示要同步使用的消息?,wpf,dispatcher,wpf-4.0,Wpf,Dispatcher,Wpf 4.0,当应用程序引发一些异常时,通常所做的是,记录异常并向用户显示,根据其严重性,我们继续使用应用程序或关闭它 在某些例外情况下,例如 “调度程序处理挂起时,无法执行此操作。” 异常情况,当UI无法向用户显示消息时,我们需要使用Dispatcher.BeginInvoke向用户异步显示消息。BeginInvoke的问题是它会立即返回,并且代码会从显示消息框的位置继续执行。在需要用户输入的情况下(如是/否对话框) 那么,我们如何才能安全地显示消息框对话框,并在继续执行代码之前仍然等待用户产生的操作?如果

当应用程序引发一些异常时,通常所做的是,记录异常并向用户显示,根据其严重性,我们继续使用应用程序或关闭它

在某些例外情况下,例如

“调度程序处理挂起时,无法执行此操作。”

异常情况,当UI无法向用户显示消息时,我们需要使用Dispatcher.BeginInvoke向用户异步显示消息。BeginInvoke的问题是它会立即返回,并且代码会从显示消息框的位置继续执行。在需要用户输入的情况下(如是/否对话框)

那么,我们如何才能安全地显示消息框对话框,并在继续执行代码之前仍然等待用户产生的操作?

如果使用
调用()
而不是
开始执行()
,则在任务完成之前,您的线程不会立即返回,允许您请求用户输入如何继续


有问题的更多信息

当Dispatcher处理被挂起时,不可能使用Invoke。@Goran啊,我明白了,是否可以
BeginInvoke
不仅是消息框,而且是您希望运行的代码的其余部分,而不需要对您已有的代码进行大量的重新工具设置?嗯,这需要将完整的代码标记为异步,因为我无法真正判断何时会发生异常(未处理)。:)