WPF查找窗口实例

时间:2011-05-26 21:20:54

标签: c# wpf

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

有没有办法引用我已经使用C#方法创建的窗口实例,可能会搜索打开的应用程序窗口,直到找到我正在尝试访问的仪表板窗口?

2 个答案:

答案 0 :(得分:5)

Application.Current.Windows为您提供所有窗口,不应该很难找到它的类型。

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

答案 1 :(得分:5)

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为我们提供了所有实例化的窗口,但上面的代码为我们提供了所有窗口。