Если пользователь регистрируется успешно, то я хочу показать главное окно, если нет, я хочу выйти из приложения
Глупо простой вопрос, который я не могу понять.
У меня есть приложение WPF, и я хочу сначала открыть диалоговое окно входа в систему (до появления главного окна).
Если пользователь успешно выполнил вход в систему, я хочу показать главное окно, если нет, я хочу выйти из приложения.
Как это сделать правильно?
Ответы
Ответ 1
Думаю, я понял, что я пытаюсь сделать.
1) Мне нужно было установить "StartupUri" в App.xaml на "Logon.xaml", где Logon.xaml - мое окно входа в систему.
2) в обработчике событий LogonButton_Click, я добавил следующее
if (blnAuthenticateSuccessful) {
MainWindow main = new MainWindow();
App.Current.MainWindow = main;
this.Close();
main.Show();
}
Это похоже на то, что я хочу.
Ответ 2
Если вы хотите, чтобы появилось новое окно, позволяющее пользователю вводить свою регистрационную информацию, я добавил код ниже. Однако создание реального модального диалогового окна немного сложнее в WPF, поэтому я не объяснил его здесь. В WPF есть информация о модальных диалоговых окнах: http://msdn.microsoft.com/en-us/library/aa969773.aspx
В MainWindow вы можете открыть окно входа в систему и скрыть это главное окно:
// Code for MainWindow
// Create a new instance of the login window and then show it
LoginWindow loginWindow = new LoginWindow();
loginWindow.Show();
// Hide the MainWindow until later
this.Hide();
Затем используйте это на странице входа, чтобы снова отобразить главное окно после входа пользователя:
// Code for Login window
// This code finds the main window again and shows it
Application.Current.MainWindow.Show();