如何找到在单独的线程WPF上运行的所有打开的窗口

时间:2016-03-10 12:42:54

标签: c# wpf

在我的WPF应用程序中,我必须在UI线程上显示一些窗口,在一些单独的线程上显示一些窗口。我可以使用System.Windows.Application.Current.Windows访问在UI线程上运行的所有窗口,但无法找到在单独线程上运行的窗口。

任何人都知道我怎么能实现这个目标?

由于

1 个答案:

答案 0 :(得分:2)

System.Windows.Application.Current.Windows仅为您提供在UIThread上创建的不在WorkerThread上的Windows。来自MSDN:

  

只要在用户界面(UI)线程上实例化窗口,就会自动将Window引用添加到Windows;不添加由工作线程创建的窗口。

我想你必须自己做这本书。例如,使用static窗口列表。请记住,您需要防范并发访问,并且需要在关闭时删除这些窗口。