プログラムがコマンド ライン引数で開始されたとき (つまり、ファイル名が渡されたとき) に、メイン ウィンドウが自動的に読み込まれないように「オフ」にできるかどうか疑問に思っています。私が抱えている問題は、プログラムに関連付けられたファイルがクリックされたときにプログラムがロードされることですが、別のメインウィンドウを開いてそれを使用することによってロードされます。私が抱えている問題は、プログラムがその後も MainWindow を起動し、2 つの Windows を開くことです。1 つはファイルの内容で、もう 1 つは空です。
空白のウィンドウを防ぐにはどうすればよいですか? 私が見ているように、メインウィンドウを開くのを止めるか、メインウィンドウを閉じるか、プログラムがファイルをメインウィンドウに渡すようにします。私の問題は、これらのどれが最適か、またはその方法がわからないことです。
これはコードです:
protected override void OnStartup(StartupEventArgs e)
{
if (e.Args != null && e.Args.Count() > 0)
{
this.Properties["ArbitraryArgName"] = e.Args[0];
}
base.OnStartup(e);
if (Application.Current.Properties["ArbitraryArgName"] != null)
{
string fname = Application.Current.Properties["ArbitraryArgName"].ToString();
MainWindow mw = new MainWindow();
mw.Show();
mw.readVcard(fname);
Application.Current.Windows.
}
}
編集:
私の解決策は一番下にあります。