隐藏一个窗口,直到再次需要它

本文关键字:窗口 一个 隐藏 | 更新日期: 2023-09-27 18:13:49

我正在做这个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来取消)