隐藏窗口,直到再次需要它为止

我正在研究这个WPF项目。 主窗口有8个按钮,所有按钮都打开另一个窗口。 我想做的是,当用户点击其中一个按钮时,主窗口被隐藏(未关闭),并且辅助窗口打开。 现在,当辅助窗口关闭时,我想取消隐藏我的主窗口。 这是我得到的代码。

public WndwProjectSetup(Window mainWindow) { InitializeComponent(); _mainWindow = mainWindow; _mainWindow.Visibility = Visibility.Hidden; // hides main window } private void WindowClosing(object sender, CancelEventArgs e) { _mainWindow.Visibility = Visibility.Visible; // unhides main window Close(); // close Project Setup window } 

这看起来很简单直接。 然而,我得到这个错误:

 Cannot set Visibility to Visible or call Show, ShowDialog, Close, or WindowInteropHelper.EnsureHandle while a Window is closing. 

我的问题是,为什么这是不可接受的? 我需要了解一下如何做到这一点?

你不需要调用Close ,它已经关闭了。 (如果有什么可以通过将e.Cancel设置为true来取消它)