2011-05-11 152 views
2

在我的情况下,我有一个主窗口和一个登录视图..WPF:关闭并打开窗口

当主窗口关闭时,应该显示登录窗口。我关闭它,像这样:

void CloseOnCompleteAndDisplayLogin(object sender, RunWorkerCompletedEventArgs e) 
    { 
     this.Close(); 
     new Login().Show(); 
    } 

在登录窗口,我打开主窗口,像这样:

  this.Hide(); 
      var window = new MainWindow(model).Show(); 

问题:当我登录并打开主窗口的第一次工作正常...当我关闭主窗口并再次登录时,主窗口的几个功能停止工作或开始抛出异常。

我在做什么错在这里?我已经认为“Window_Loaded”类似的事件不会在重新登录时触发。

回答

3

是的,Loaded没有触发如果你隐藏/显示。而是使用Shown事件来初始化您的逻辑。

+0

没有显示,但你应该宁可使用结束后 – David 2011-05-11 16:38:32

0

我想,这可能是

 new Login().Show(); 

首先你隐藏你的登录窗口的实例的问题,并关闭主窗口,你总是创建新的()