2015-04-19 125 views
0

我有一个WPF应用程序,其中包含一个菜单的主窗口。每个菜单项都会创建一个对应的弹出窗口。WPF容器窗口/子窗口。可能?

有没有什么办法可以在主窗口中包含这些窗口,即它们总是保留在主父窗口的边界内,并且当父窗口最小化时,这些窗口也被最小化,只有父窗口出现在任务栏。

编辑:我明显可以使用用户控件,但项目规范要求能够并排打开多个窗口。

感谢

+0

您是否在寻找使用WPF一个[MDI](http://en.wikipedia.org/wiki/Multiple_document_interface)实施? – vesan

回答

1

为什么要使用一个窗口,如果它不应该是一个。

改为使用页面或用户控件。只需将“子窗口”的基类更改为适合您的需求即可。

+0

项目要求要求能够并排打开多个窗口。 – user3267225

+0

将窗口拆分为一个简单的“主机”,它可以包含任何UserControl并将整个UI作为UserControls实现,现在您可以在一个窗口中并排显示UserControls,或者在其自己的窗口中显示每个UserControl – Console

+0

我已经完成了这项工作,但那不是我的问题。萨加尔给了我一个很好的解决方案。感谢您的帮助。 – user3267225

1

试试这个

newWindow.Owner = Window.GetWindow(this); 

其中newWindow是弹出窗口的名称。或

// Create a window and make this window its owner 
Window ownedWindow = new Window(); 
ownedWindow.Owner = this; 
ownedWindow.Show(); 

查找更多关于Window.Owner

+0

嗨Saagar,谢谢你。这解决了我的一半问题,即当我最小化主窗口时,其他窗口最小化,只有容器窗口在任务栏中可见。我非常感谢你的帮助。 – user3267225