我有一个应用程序,我将不得不进入另一个打开的WPF窗口。在WinForms中,我能够使用:
MainWindow main = (MainWindow)Application.OpenForms["MainWindow"];
能够访问表单。现在在WPF中它不存在。我在此网站上看到了其他post,但它使用的 Application.Window 未包含在调用中。我只是:
所以我的问题是,OpenForms是否有不同的版本,或者只是采用不同的方式。
答案 0 :(得分:2)
尝试查看:Application.Current
。更具体地说,Application.Current.Windows
。
答案 1 :(得分:0)
我可能会迟到,以防万一有人需要这个。如果您身边缺少 Application.OpenForms,那是因为您必须使用 System.Windows.Forms.Application.OpenForms
例如:
FormCollection fc = System.Windows.Forms.Application.OpenForms;
fc 对象包含的属性为:Count 和 InnerList(非常有用)
希望有帮助,即使是2021年,我还以为有人会需要这个信息(我搜索的时候没有在任何地方看到过)
答案 2 :(得分:0)
Window2 wndw = new Window2();
wndw.Owner = this;
foreach (Window w in Application.Current.Windows)
{
if (w.Name == wndw.Name)
{
if (w.IsActive)
{
w.Focus();
return;
}
else
{
w.Show();
return;
}
}
}