【发布时间】:2011-08-16 20:06:28
【问题描述】:
在我的 WPF 应用程序中,有时我需要创建一个小的帮助窗口,并且我会在第一次需要它时创建该窗口的实例。
if (mesareaderThreadQueWin == null)
{
mesareaderThreadQueWin = new MesaReaderThreadQueWindow();
}
mesareaderThreadQueWin.Show();
到目前为止,这很完美。但是,如果我关闭窗口并再次调用代码,程序会崩溃,告诉我在窗口已经关闭后我不能执行 show。
我有点想知道这里到底发生了什么。窗口不是 null 否则代码只会创建一个新实例,但由于我已经显示了窗口,所以我似乎不能再这样做了。所以窗口必须处于某种中间状态。无法变为可见但不是 null。
我可以检测到这种状态吗?有没有办法再次重用这个窗口,而不是完全不关闭窗口并使用 hide 代替?
【问题讨论】:
-
您可以改用 Hide() 成员,它会保存实例供您下次使用。
标签: wpf user-interface window