Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写一个 WPF 应用程序,它有一个主画布区域,用户可以在其中打开多个窗口,拖放它们,并且通常在应用程序中随意移动它们。
到目前为止,我所做的基本上是使用该Show()方法打开窗口,并且我已将它们从任务栏中隐藏。但是,当主应用程序最小化时,已经打开的小窗口都出现在桌面上。我所寻找的基本上是一种将窗口包含在应用程序中的方法。
Show()
这可能吗?
是的,但您需要设计一些基础设施来取代 MDI 过去所做的事情(尽管通常很糟糕)
因此,当您在应用程序中打开一个新窗口时,请将其添加到列表中。当它关闭时,将其取出当您的主应用程序最小化时,将列表中的所有窗口也最小化。
您还可以捕获子窗口移动事件并将它们保持在界限内,当主应用程序移动时带上孩子。对接、级联、平铺……
关键点它以获取此托管子窗口列表。
您要做的就是称为MDI。
WPF MDI