C #: как убить одно окно - PullRequest
0 голосов
/ 16 марта 2010

Я работаю над приложением WPF, которое можно использовать с двумя мониторами. В главном окне находится кнопка, которая отсоединяет часть контента во втором окне, которая затем может быть использована на другом контроллере. Это второе окно я реализовал как синглтон. Это работает довольно хорошо, за исключением того, что второе окно не уничтожается при завершении работы приложения, что означает, что приложение продолжает работать в фоновом режиме.

Относительно этой проблемы я хотел бы знать, является ли синглтон правильным способом сделать это, и если нет, то каким будет правильный путь. Если это так, как мне избавиться от экземпляра и почему я не могу получить доступ к экземпляру синглтона из app.xaml.cs?

Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 16 марта 2010

Это не имеет никакого отношения к тому, что ваше окно является одиночным, оно связано со свойством ShutdownMode вашего приложения. По умолчанию его значение равно OnLastWindowClose, что означает, что приложение будет закрыто, когда все окна закрыты. Таким образом, вы должны либо вручную закрыть все свои окна, либо установить ShutdownMode на OnMainWindowClose. Вы также можете позвонить Application.Shutdown явно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...