【发布时间】:2015-08-25 08:34:28
【问题描述】:
WPF 应用程序。
Window1可以打开WindowA.Show(), WindowB.Show(), WindowC.Show()
当我们关闭 Window1 时,我们也想关闭所有打开的窗口(A、B 和 C)。
在我们调用Window1_Closing 事件时
WindowA.Close();
WindowB.Close();
WindowC.Close();
在关闭窗口时可以调用任何这些 Cancel = true 并且 WindowA(或 B 或 C)不会关闭。
然后我们不想关闭 Window1(父级)。
如何在Window1_Closing 中知道是否有任何子窗口被取消(未关闭)?
【问题讨论】:
-
那是
Window表格吗? -
你不能给你的子窗口WindowA等添加一个属性吗?然后在关闭时,您可以将其设置为 true 或 false,具体取决于关闭是否被取消。在您的应用程序窗口中,您可以检查该属性并在必要时取消。
-
这是我在这里问问题时想要避免的。最后,如果 WPF 不支持解决方案,我会这样做。
-
您的应用程序中还有其他窗口吗?如果没有,则在 Window1 关闭时,您还可以 Exit() 应用程序,这将关闭其所有子窗口(A、B、C)