WPF查找窗口实例

本文关键字:实例 窗口 查找 WPF | 更新日期: 2023-09-27 17:57:50

我在一个类中创建了一个窗口的实例,但我无法直接从另一个类访问该窗口的实例。

有没有一种方法可以引用我已经使用C#方法创建的窗口实例,也许可以在打开的应用程序窗口中搜索,直到它找到我试图访问的Dashboard窗口?

WPF查找窗口实例

Application.Current.Windows为您提供了所有窗口,使用其类型应该不难找到。

正如Ed所指出的,这听起来不是很好的设计,所以你可能需要考虑如何在没有混乱窗口引用的情况下完成任务

System.Reflection.Assembly assemby = System.Reflection.Assembly.GetExecutingAssembly();
System.Type[] types = assemby.GetTypes();
var varWindows = types.ToList()
    .Where(current => current.BaseType == typeof(Window));
MessageBox.Show(varWindows.Count().ToString());

Application.Current.Windows为我们提供了所有的实例化窗口,但上面的代码为我们提供所有的窗口。