如何使用WPF最小化像Outlook一样,如何再次限制同一窗口的打开并最大化窗口

时间:2015-06-03 11:06:57

标签: wpf

我有一个包含列表框集合的WPF项目。当我单击列表框集合中的一个项目时,将使用单独的窗口打开相应项目的详细信息。我们可以有像Outlook这样的多个窗口。

如果我点击列表框中的一个项目,它将打开新窗口,如果我点击相同的项目意味着另一个窗口打开相同的信息。在outlook中,如果已经打开,意味着它将最大化已经打开的窗口。

1 个答案:

答案 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

enter image description here

它对我有用,在GUI线程上我得到了Windows集合。为了准确起见,我已将产品固定在该系列中。

正如您在我的Loaded事件中看到的那样:

        for (int i = 0; i < 2; i++)
        {
            Window wnd = new Window();
            wnd.Title = "Title " + i.ToString();
            wnd.Show();
        }

我正在实例化两个新的新窗口,它们显示在剪辑中。我不确定还有什么要说的......