private void Application_Startup(object sender, StartupEventArgs e) { ManagementViewModel vm = ManagementViewModel.GetInstances; LoginWindow loginWnd = new LoginWindow { DataContext = vm, }; if (loginWnd.ShowDialog() == true) { //MainWindow mainWnd = new MainWindow //{ // DataContext = vm, //}; //Application.Current.MainWindow = mainWnd; //mainWnd.Closed += (s, eg) => //{ // Current.Shutdown(); // vm.Dispose(); //}; ////登陆后的一些初始化动作 //vm.Initialize(); //mainWnd.Show(); } else { Current.Shutdown(); vm.Dispose(); } }
private void BackgroundWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) { if (e.Cancelled) { ReadyToLogin = true; return; } ErrType err = e.Result as ErrType; if (err == GeneralErr.Success) { MainWindow mainWnd = new MainWindow { DataContext = this.DataContext, }; Application.Current.MainWindow = mainWnd; mainWnd.Closed += (s, eg) => { Application.Current.Shutdown(); _vm.Dispose(); }; //登陆后的一些初始化动作 _vm.Initialize(); _vm.GetPOrgsList(); mainWnd.Show(); SaveUserInfo( ); DialogResult = true; Close(); } else { LoginFailed = true; ErrorMessage = err.ErrMsg; } }