簡體   English   中英

關閉從App.xaml啟動的模態窗口會觸發WindowClosing事件

[英]Closing a modal window launched from App.xaml triggers WindowClosing event

我有一個WPF應用程序,作為啟動的一部分,我需要顯示一個模態窗口,以從用戶獲取一些信息。 我從App.xaml.cs_ApplicationStartup中創建並顯示窗口。 在窗口的ok按鈕中,我調用Close()方法。 檢索完信息后,我想顯示主應用程序窗口。 但是,主應用程序窗口立即收到WindowClosing事件並終止。 App.xaml代碼:

private void ApplicationStartup(object sender, StartupEventArgs e)
{
    if (Settings.Default.AskForLoginCredentials)
    {
        var loginWindow = new LoginCredentialsWindow();
        bool? retVal = loginWindow.ShowDialog();
        if (retVal.HasValue && retVal.Value)
        {
            string un = loginWindow.UserName;
            string pw = loginWindow.Password;
        }
        else
        {
            _logger.Info("Credential request prompt was refused. Exiting Application.");
            return;
        }
    }

    MainAppWindow window = new MainAppWindow();
    window.Show();
}

這里發生了什么?

更改Application.ShutdownMode屬性

默認值為OnLastWindowClose ,這意味着應用程序將在最后一個窗口關閉時關閉。 另外兩個選項是OnMainWindowCloseOnExplicitShutdown

我通常使用OnExplicitShutdown ,這意味着需要調用Shutdown()才能退出應用程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM