我正在尝试创建一个采用命令行参数的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();
}

09-10 01:27