1

我正在编写一个 WPF 应用程序,它有一个主画布区域,用户可以在其中打开多个窗口,拖放它们,并且通常在应用程序中随意移动它们。

到目前为止,我所做的基本上是使用该Show()方法打开窗口,并且我已将它们从任务栏中隐藏。但是,当主应用程序最小化时,已经打开的小窗口都出现在桌面上。我所寻找的基本上是一种将窗口包含在应用程序中的方法。

这可能吗?

4

2 回答 2

1

是的,但您需要设计一些基础设施来取代 MDI 过去所做的事情(尽管通常很糟糕)

因此,当您在应用程序中打开一个新窗口时,请将其添加到列表中。当它关闭时,将其取出当您的主应用程序最小化时,将列表中的所有窗口也最小化。

您还可以捕获子窗口移动事件并将它们保持在界限内,当主应用程序移动时带上孩子。对接、级联、平铺……

关键点它以获取此托管子窗口列表。

于 2012-10-14T16:25:51.007 回答
0

您要做的就是称为MDI

WPF MDI

于 2012-10-14T16:15:55.890 回答