在WPF中设计登录窗口关闭时打开主窗口,自动生成的App.xaml不能满足要求,
1、把App.xaml的属性窗口中的生成操作设定为 无
2、添加Program类
static class Program{/// <summary>/// The main entry point for the application./// </summary>[STAThread]static void Main(){LoginWindow loginForm = new LoginWindow();loginForm.Init();bool? rt = loginForm.ShowDialog();loginForm.Close();if (rt == true){Application App = new Application();App.ShutdownMode = ShutdownMode.OnMainWindowClose;MainWindow m_MianWindow = new MainWindow();App.MainWindow = m_MianWindow;App.Run(m_MianWindow);}}}
这样就可以满足要求了
参考:http://www.mysjtu.com/page/M0/S613/613036.html
方法二:
最近看一方法,不用添加Program方法即可,代码如下:
public partial class App : Application{protected override void OnStartup(StartupEventArgs e){Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;LoginWindow window = new LoginWindow();bool? dialogResult = window.ShowDialog();if ((dialogResult.HasValue == true) &&(dialogResult.Value == true)){base.OnStartup(e);Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose; }else{this.Shutdown();}}}
通过Application的ShutdownMode控制进程的运行时间。