WPF Application_Startup事件将永远运行,除非我制作一个窗口并显示它
本文关键字:一个 显示 窗口 非我 事件 Startup Application 永远 运行 WPF | 更新日期: 2023-09-27 18:23:35
WPF应用程序在我打开并关闭一个窗口时会关闭,但如果我没有打开任何窗口,它会一直运行,直到我明确关闭它
public partial class App : Application
{
private void Application_Startup(object sender, StartupEventArgs e)
{
if (e.Args.Count() != 0)
{
var mw = new MainWindow();
mw.ShowDialog();
}
}
}
如果你给这个应用程序提供了一个命令行参数,它会打开一个窗口,并在你关闭窗口后立即关闭;如果你不提供一个论点,它将不会关闭,必须通过任务管理器杀死。
检查http://msdn.microsoft.com/en-us/library/system.windows.application.shutdownmode.aspx.
默认关闭模式为OnLastWindowClose。
显然,这与WPF如何管理其关闭有关,需要设置一个ShutdownMode属性:
public partial class App : Application
{
private void Application_Startup(object sender, StartupEventArgs e)
{
// this makes the behavior consistant, must call App.Shutdown(0) to exit
this.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
if (e.Args.Count() != 0)
{
var mw = new MainWindow();
mw.ShowDialog();
}
}
}