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;
            }
        }