Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 关闭从App.xaml启动的模式窗口会触发WindowClosing事件_.net_Wpf - Fatal编程技术网

.net 关闭从App.xaml启动的模式窗口会触发WindowClosing事件

.net 关闭从App.xaml启动的模式窗口会触发WindowClosing事件,.net,wpf,.net,Wpf,我有一个WPF应用程序,作为启动的一部分,我需要显示一个模式窗口以从用户那里获取一些信息。 我从App.xaml.cs\u应用程序启动内部创建并显示窗口。 在窗口的ok按钮中,我调用Close()方法。 检索到信息后,我想显示主应用程序窗口。 但是,主应用程序窗口立即收到WindowClosing事件并终止。 App.xaml代码: private void ApplicationStartup(object sender, StartupEventArgs e) { if (Setti

我有一个WPF应用程序,作为启动的一部分,我需要显示一个模式窗口以从用户那里获取一些信息。 我从App.xaml.cs\u应用程序启动内部创建并显示窗口。 在窗口的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();
}
这里发生了什么

更改属性

默认值为
OnLastWindowClose
,这意味着应用程序将在最后一个窗口关闭时关闭。其他两个选项是
OnMainWindowClose
OnExplicitShutdown

我通常使用
OnExplicitShutdown
,这意味着需要调用它才能退出应用程序