垂悬在对新的螺纹的电话的窗口

时间:2013-08-23 11:00:54

标签: wpf mvvm

我有一个WPF MVVM应用程序,其中第一个屏幕是登录屏幕,一旦登录成功,它就打开了MainWindow。所以一旦点击进入按钮,我的登录屏幕就会被挂起。我正在使用调度程序线程打开主窗口,因为加载应用程序需要8-10秒。这是我的代码:

登录屏幕的代码输入按钮:

private ICommand _EnterCommand;
public ICommand EnterCommand
{
    get
    {
        return _EnterCommand ?? (_EnterCommand = new DelegateCommand(() =>
        {
            Thread objThread = new Thread(LoadApplication);
            objThread.SetApartmentState(ApartmentState.STA);
            objThread.Start();

        }));
    }
}

在线程上打开主窗口的代码(这里显示进度是显示忙指示符):

    public void LoadApplication()
    {
        ShowProgress = true;
        if (isAuthenticatedUser = GetSSOToken())
        {   
            var dispatcher = Application.Current.Dispatcher;
            dispatcher.Invoke(new Action(() =>
            {
                MainWindow objMainWindow = new MainWindow();                    
                objMainWindow.Show();
                Application.Current.MainWindow.Close();
            }));
        }
        ShowProgress = false;
    }

但是当代码到达下面的步骤

                MainWindow objMainWindow = new MainWindow();                    
                objMainWindow.Show();

登录屏幕已挂起。

只要未启动主窗口,我就需要保持登录屏幕非常活跃。有什么建议吗?

0 个答案:

没有答案