#c# #.net #wpf #events
#c# #.net #wpf #Мероприятия
Вопрос:
В моем случае у меня есть главное окно и вид входа в систему.
Когда главное окно закрыто, должно отображаться окно входа в систему. Я закрываю это вот так:
void CloseOnCompleteAndDisplayLogin(object sender, RunWorkerCompletedEventArgs e)
{
this.Close();
new Login().Show();
}
В окне входа в систему я открываю MainWindow
вот так:
this.Hide();
var window = new MainWindow(model).Show();
Проблема: когда я вхожу в систему и открываю MainWindow
в первый раз, все работает нормально. Когда я закрываю MainWindow
и снова вхожу в систему, некоторые функции главного окна перестают работать или начинают выдавать исключения.
Что я здесь делаю не так? Я уже понял, что Window_Loaded
подобные события не запускаются при повторном входе в систему.
Ответ №1:
Да, Loaded
не срабатывает, если вы скрываете / показываете. Вместо этого используйте Shown
событие для инициализации вашей логики.
Ответ №2:
Я думаю, что это может быть проблемой
new Login().Show();
сначала вы скрываете свой экземпляр окна входа в систему, а после закрытия MainWindow вы всегда создаете new ()