Wpf dispatcher.invoke挂了

时间:2014-04-27 07:27:46

标签: c# wpf message-queue invoke dispatcher

我有一个很少的线程的WPF应用程序(所有线程都使用dispatcher.invoke来更新GUI)以及许多网格和控件。在任何给定时间,只有2或3个网格可见,因此用户可以与控件进行交互。我还有一个外部设备向我的应用程序发送信号,然后我更新GUI,以便用户知道信号被触发。

我通过调度程序进行更新,因为信号检测在另一个线程上。所以一切都很好,直到间歇性地调度我的方法具有正常优先级的dispatcher.invoke需要5分钟。当我单击GUI时会发生这种情况,然后立即调用方法。因此,消息泵似乎已经处于睡眠状态或挂起状态,只要我点击GUI它就会唤醒并处理我的消息。我已经多次这样做了,所以我确信在刷新GUI时消息队列会被唤醒。

这是WPF消息泵队列中的一个错误,它会偶尔进入睡眠状态并在刷新GUI时唤醒?或者这种行为的原因是什么,以及如何处理它。

提前致谢

0 个答案:

没有答案