我在类中创建了一个窗口实例,但是我无法直接从其他类访问该窗口的实例。
有没有办法引用我已经使用C#方法创建的窗口实例,可能会搜索打开的应用程序窗口,直到找到我正在尝试访问的仪表板窗口?
答案 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
为我们提供了所有实例化的窗口,但上面的代码为我们提供了所有窗口。