/// <summary>App.xaml 的交互邏輯</summary> public partial class App : Application { private bool bFirst = true; private User user; protected override void OnStartup(StartupEventArgs e) { if (bFirst) { Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown; WndLogin window = new WndLogin(); bool? dialogResult = window.ShowDialog(); if ((dialogResult.HasValue) && (dialogResult.Value)) { user = window.CurrentUser; bFirst = false; OnStartup(e); Application.Current.ShutdownMode = ShutdownMode.OnLastWindowClose; } else { Shutdown(); } } else { MainWindow window = new MainWindow(); window.curUser = user; window.ShowDialog(); } } }
登陸窗體關閉前設置dialogresult為true
經實際測試可行,其余網上大神雖然也是重寫OnStartup啟動函數,但是經過我的測試,並不能通過,可能我哪里出問題沒搞清楚,所以在此記錄