Привет всем и спасибо, что вернулись ко мне, извините, я не вернусь раньше.Часть того, что сказал Нейт, была правильной в том, что мне нужно было вызвать мой Window раньше, а затем, если был аргумент командной строки, проанализировать имя файла.Проблема, как я увидел, заключалась в том, что он все еще запускал главное окно, потому что оно было установлено в качестве моего запуска, поэтому я использовал информацию, предложенную Qwertie, для изменения моего app.xaml, что означало, что оно указывало на другой запуск, которыйв свою очередь, это означало, что окно не было открыто без необходимости.
В классе «App: Application» в App.xaml.cs:
private void OnStartUp(object sender, StartupEventArgs e)
{
OnStartup(e);
}
protected override void OnStartup(StartupEventArgs e)
{
MainWindow mw = new MainWindow();
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();
mw.Show();
mw.readVcard(fname);
//Application curApp = Application.Current;
//curApp.Shutdown();
}
else if (e.Args.Count() == 0)
{
mw.Show();
}
}
В App.xaml:
<Application x:Class="Vcardviewer.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="OnStartUp"
>
<Application.Resources>
</Application.Resources>
</Application>
<!--StartupUri="MainWindow.xaml"-->
Еще раз спасибо всем за ответы.С уважением всех вас.