我正在尝试创建一个获取命令行参数的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(); }
要检查你的论证是否存在 - 在Matt的解决方案中使用它进行测试:
e.Args.Contains( "MyTriggerArg")