获取所有打开的WPF窗口

Mis*_*r S 7 c# windows wpf

我正试图让所有打开的窗户.我尝试使用System.Windows.Application.Current.Windows但是我得到了Null Pointer Exception,其中foreach循环是.有谁知道出了什么问题?

public Window getWindow(String Title)
{
    Window windowObject = null;
    Console.WriteLine("Inside getWindow");
    foreach (Window window in System.Windows.Application.Current.Windows)
    {
        if (window.Title == Title)
        {
            windowObject = window;
        }
    }
    return windowObject;
}
Run Code Online (Sandbox Code Playgroud)

luk*_*uka 8

这是在WPF中正在运行的应用程序中循环浏览所有打开的窗口的方法:

foreach (var Window in App.Current.Windows)
        { 
           // TODO: write what you want here
        }
Run Code Online (Sandbox Code Playgroud)

如果你想知道在窗体中使用应用程序而不是应用程序.再见.


Ern*_*rno 4

要么Current是 要么Windowsnull

Windows属性只能从创建 Application 对象的线程访问,并且这仅在创建应用程序对象后在 WPF 应用程序中起作用。

  • Window 类如何应用于 WinForms? (2认同)