WPF: закрыть и открыть окна - PullRequest
2 голосов
/ 11 мая 2011

В моем случае у меня есть главное окно и вид входа в систему ..

Когда главное окно закрыто, должно появиться окно входа в систему.Я закрываю это так:

    void CloseOnCompleteAndDisplayLogin(object sender, RunWorkerCompletedEventArgs e)
    {
        this.Close();
        new Login().Show();
    }

В окне входа в систему я открываю главное окно следующим образом:

            this.Hide();
            var window = new MainWindow(model).Show();

Проблема: Когда я вхожу в систему и открываю главное окно в первый развсе работает нормально ... Когда я закрываю главное окно и снова захожу, несколько функций главного окна перестают работать или начинают выдавать исключения ..

Что я здесь не так делаю?Я уже понял, что события типа «Window_Loaded» НЕ запускаются при повторном входе в систему.

Ответы [ 2 ]

3 голосов
/ 11 мая 2011

Да, Loaded это не срабатывает , если вы Скрыть / Показать.Вместо этого используйте событие Shown для инициализации вашей логики.

0 голосов
/ 11 мая 2011

Я думаю, что это может быть проблемой

       new Login().Show();

сначала вы скрываете свой экземпляр окна входа в систему, а после закрытия MainWindow вы всегда создаете new ()

...