我正在尝试创建一个采用命令行参数的WPF应用程序。如果未提供任何参数,则应弹出主窗口。对于某些特定的命令行参数,代码应在没有GUI的情况下运行,并在完成时退出。任何有关如何适当地做到这一点的建议将不胜感激。
最佳答案
首先,在您的App.xaml文件顶部找到此属性并将其删除:
StartupUri="Window1.xaml"
这意味着该应用程序不会自动实例化您的主窗口并显示它。
接下来,在您的App类中重写OnStartup方法以执行逻辑:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
if ( /* test command-line params */ )
{
/* do stuff without a GUI */
}
else
{
new Window1().ShowDialog();
}
this.Shutdown();
}