【发布时间】:2012-10-14 16:12:22
【问题描述】:
我正在编写一个 WPF 应用程序,它有一个主画布区域,用户可以在其中打开多个窗口,拖放它们,并且通常可以随意在应用程序中移动它们。
到目前为止,我所做的基本上是使用Show() 方法打开窗口,并且我已将它们从任务栏中隐藏。但是,当主应用程序最小化时,已经打开的小窗口都出现在桌面上。我所寻找的基本上是一种将窗口包含在应用程序中的方法。
这可能吗?
【问题讨论】:
我正在编写一个 WPF 应用程序,它有一个主画布区域,用户可以在其中打开多个窗口,拖放它们,并且通常可以随意在应用程序中移动它们。
到目前为止,我所做的基本上是使用Show() 方法打开窗口,并且我已将它们从任务栏中隐藏。但是,当主应用程序最小化时,已经打开的小窗口都出现在桌面上。我所寻找的基本上是一种将窗口包含在应用程序中的方法。
这可能吗?
【问题讨论】:
是的,但您需要设计一些基础架构来替代 MDI 过去所做的事情(尽管通常很糟糕)
因此,当您在应用中打开新窗口时,请将其添加到列表中。 关了就拿出来 当您的主应用程序最小化时,将列表中的所有窗口也最小化。
您还可以捕获子窗口移动事件并将它们保持在界限内,当主应用程序移动时带上孩子。对接、级联、平铺……
关键点让它运行这个托管子窗口列表。
【讨论】: