Что происходит с окном WPF после его закрытия?

в моем приложении WPF мне иногда нужно создать небольшое вспомогательное окно, и я создаю экземпляр окна в первый раз, когда он мне нужен.

if (mesareaderThreadQueWin == null)
{
    mesareaderThreadQueWin = new MesaReaderThreadQueWindow();    
}

mesareaderThreadQueWin.Show(); 

Пока это работает идеально. Но если я закрою окно и снова вызову код, программа выйдет из строя, сообщив мне, что я не могу сделать show после того, как окно уже закрылось.

Мне немного интересно, что именно здесь происходит. Окно не null , иначе код просто создал бы новый экземпляр, но, поскольку я уже показал окно, кажется, что я не могу сделать это снова. Так что окно должно быть в каком-то промежуточном состоянии. Невозможно стать видимым, но не null .

Могу ли я определить это состояние? Есть способ повторно использовать это окно снова, а не закрывать его вообще и использовать вместо него hide ?

6
задан TalkingCode 2 May 2011 в 08:33
поделиться