我正在我的 WPF 应用程序中启动一个新的 UI 线程。现在我正在寻找一种方法来获取该线程中所有窗口的列表 - 就像我将为主线程获取它一样System.Windows.Application.Current.Windows
。.NET-Framework 中有什么东西还是我必须自己实现它?当我必须自己实现它时,也许有人有一点示例代码?
问问题
778 次
1 回答
2
引用MSDN:
只要在用户界面 (UI) 线程上实例化窗口,就会自动将窗口引用添加到 Windows;不添加由工作线程创建的窗口。Window 引用在其 Closing 事件被处理后且在其 Closed 事件引发之前被自动删除。
默认情况下,添加到 Windows 属性的第一项成为 MainWindow。
此属性仅在创建 Application 对象的线程中可用。
因此,工作线程创建的窗口似乎不会自动保存在任何集合中。我假设您在工作线程上创建该窗口-因此您应该自己存储对它的引用以供以后访问(您可以通过添加this
到某些窗口管理器类在 Windows 构造函数中执行此操作)
于 2011-11-21T18:53:30.943 回答