1

我正在我的 WPF 应用程序中启动一个新的 UI 线程。现在我正在寻找一种方法来获取该线程中所有窗口的列表 - 就像我将为主线程获取它一样System.Windows.Application.Current.Windows。.NET-Framework 中有什么东西还是我必须自己实现它?当我必须自己实现它时,也许有人有一点示例代码?

4

1 回答 1

2

引用MSDN

只要在用户界面 (UI) 线程上实例化窗口,就会自动将窗口引用添加到 Windows;不添加由工作线程创建的窗口。Window 引用在其 Closing 事件被处理后且在其 Closed 事件引发之前被自动删除。

默认情况下,添加到 Windows 属性的第一项成为 MainWindow。

此属性仅在创建 Application 对象的线程中可用。

因此,工作线程创建的窗口似乎不会自动保存在任何集合中。我假设您在工作线程上创建该窗口-因此您应该自己存储对它的引用以供以后访问(您可以通过添加this到某些窗口管理器类在 Windows 构造函数中执行此操作)

于 2011-11-21T18:53:30.943 回答