I have a login window and a main window. Now, I want to close the login window after a successful login and my main window should then open. But so far, I am getting both windows opening which is irritating me.
I have tried the code below in the code behind of app.xaml but it closes the whole application…
DataRepository repository = new DataRepository();
ViewModelPassword viewModelPassword = new ViewModelPassword(repository);
passwordDialog passwordDialog = new PasswordDialog();
passwordDialog.DataContext = viewModelPassword;
viewModelPassword.RequestClose += (s, ee) => passwordDialog.Close();
passwordDialog.ShowDialog();
Mainviewmodel viewModel = new Mainviewmodel (repository, viewModelPassword.Login);
MainWindow window = new MainWindow();
window.DataContext = viewModel;
window.Show();
base.OnStartup(e);
After the login command has initiated a successful login, I want to display the main window.
You are showing both Windows before even running the startup code, so on application startup both windows are showing.
Here’s the code I typically use for this scenario: