1. ホーム
  2. wpf

[解決済み] WPFコマンドライン

2023-02-05 01:12:14

質問

コマンドライン引数を取る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();
}