2010-04-18 45 views
46

当没有任何UI元素的引用时,有什么办法可以获得UI线程的Dispatcher如何获取UI线程调度程序?

+0

一些更多的细节...你没有参考GUI对象或UI线程?一旦你有调度员,你打算做什么? – Gishu 2010-04-18 17:12:24

+0

@Gishu,对于像我这样七年后的人来说,当你拥有的只有如在UI线程中正在监听的ObservableCollection(因此,如果尝试从UI线程修改它,将无法检查重入),但不会公开任何调度程序...在这种情况下,您需要UI'调度程序“,但没有任何UI元素 – 2017-04-12 12:45:53

回答

86

您可以从静态应用程序实例抢UI接线员:Application.Current.Dispatcher

您可能要检查Application.Current为空第一,因为它可以在关断期间被清除。

+12

不幸的是,在WinForms中,对于那些在WinForms应用程序中托管WPF元素的不幸灵魂,这也是空的。 – 2012-01-18 18:56:10

+3

@AndrewGarrison,你可以通过说'new System.Windows.Application()'来手动创建静态'Application'对象。 – Taedrin 2015-10-06 20:08:38