в моем приложении WPF мне иногда нужно создать небольшое вспомогательное окно, и я создаю экземпляр окна в первый раз, когда он мне нужен.
if (mesareaderThreadQueWin == null)
{
mesareaderThreadQueWin = new MesaReaderThreadQueWindow();
}
mesareaderThreadQueWin.Show();
Пока это работает идеально. Но если я закрою окно и снова вызову код, программа выйдет из строя, сообщив мне, что я не могу сделать show после того, как окно уже закрылось.
Мне немного интересно, что именно здесь происходит. Окно не null , иначе код просто создал бы новый экземпляр, но, поскольку я уже показал окно, кажется, что я не могу сделать это снова. Так что окно должно быть в каком-то промежуточном состоянии. Невозможно стать видимым, но не null .
Могу ли я определить это состояние? Есть способ повторно использовать это окно снова, а не закрывать его вообще и использовать вместо него hide ?