I am trying to set the DataContext
of the MainWindow
to its ViewModel in App.OnStartup
. I noticed when doing that, MainWindow()
constructor is getting called twice and I see 2 windows opened. Any idea whats causing this behavior ? My code is as follows:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
MainWindow mainWindow = new MainWindow();
// Create the ViewModel to which the main window binds.
MainWindowViewModel mainWindowViewModel = new MainWindowViewModel();
// Register handle such that when the mainWindowViewModel asks to be closed, close the window.
mainWindowViewModel.RequestClose += delegate(System.Object o, System.EventArgs eventArgs)
{
mainWindow.Close();
};
mainWindow.DataContext = mainWindowViewModel;
mainWindow.Show();
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…