我目前正在编写一个WPF应用程序,它在App.xaml.cs中执行命令行参数处理(这是必要的,因为Startup事件似乎是获取这些参数的推荐方法).根据我想要退出程序的参数,据我所知,应该在WPF中使用Application.Current.Shutdown()或者在这种情况下(因为我在当前的应用程序对象中)也可能只是this.Shutdown().
唯一的问题是这似乎不正常.在Shutdown()线路仍然被执行后,我已经逐步调试了调试器和代码,这导致了方法之后的错误,因为我预计应用程序不能存活那么长时间.此外,主窗口(在XAML中的StartupUri属性中声明)仍然被加载.
我已经检查了该方法的文档,但在评论中没有发现任何内容,告诉我不应该在使用期间Application.Startup或根本不使用它Application.
那么,那时退出程序的正确方法是什么,i.即 对象中的Startup事件处理程序Application?
我希望WPF应用程序仅在某些条件下启动.我尝试了以下但没有成功:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
if (ConditionIsMet) // pseudo-code
{
base.OnStartup(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但即使条件不满足,应用程序也能正常运行