我有一个包含列表框集合的WPF项目。当我单击列表框集合中的一个项目时,将使用单独的窗口打开相应项目的详细信息。我们可以有像Outlook这样的多个窗口。
如果我点击列表框中的一个项目,它将打开新窗口,如果我点击相同的项目意味着另一个窗口打开相同的信息。在outlook中,如果已经打开,意味着它将最大化已经打开的窗口。
答案 0 :(得分:0)
要在您的应用程序中打开所有窗口,请使用以下方法:
public Window getWindow(String Title)
{
Window windowObject = null;
foreach (Window window in System.Windows.Application.Current.Windows)
{
if (window.Title == Title)
{
windowObject = window;
}
}
return windowObject;
}
当然,你必须提供标题,我认为可以在你的ListBoxItem内容中找到它。
使用它来最大化它:
windowObject.WindowState = WindowState.Maximized;
修改1
它对我有用,在GUI线程上我得到了Windows集合。为了准确起见,我已将产品固定在该系列中。
正如您在我的Loaded事件中看到的那样:
for (int i = 0; i < 2; i++)
{
Window wnd = new Window();
wnd.Title = "Title " + i.ToString();
wnd.Show();
}
我正在实例化两个新的新窗口,它们显示在剪辑中。我不确定还有什么要说的......