在我的
WPF应用程序中,我有时需要创建一个小帮助窗口,并在我第一次需要时创建窗口的实例.
if (mesareaderThreadQueWin == null) { mesareaderThreadQueWin = new MesaReaderThreadQueWindow(); } mesareaderThreadQueWin.Show();
这到目前为止完美无缺.但是,如果我关闭窗口并再次调用代码,程序崩溃告诉我在窗口已经关闭后我无法显示.
我想知道这里到底发生了什么.该窗口不为null,否则代码只会创建一个新实例,但由于我已经显示了窗口,我似乎再也不能这样做了.所以窗口必须处于某种中间状态.无法变为可见但不为空.
解决方法
Can I detect this state?
据我所知,没有办法进入这种状态
Its there a way to reuse this window again other then not closing the window at all and using hide instead?
是,在对话框窗口中处理Closing事件,或覆盖OnClosing方法:
protected override void OnClosing(CancelEventArgs e) { e.Cancel = true; this.Hide(); }