Имеется приложение WPF, из которого нужно запустить другое небольшое приложение WPF в виде исполнимого файла (.exe) с параметрами, передаваемыми их главного приложения. Причем при старте второго приложеня происходит проверка, если параметров нет, то стартует еще одно окно, где необходимо их ввести вручную. Делаю так, в файле App:
public string[] Parameters { get; set; }
protected override void OnStartup(StartupEventArgs e)
{
Parameters = e.Args;
base.OnStartup(e);
}
в главном окне приложения:
public string Medicament { get; set; }
public float Concentration { get; set; }
public float SpecGravity { get; set; }
public MainWindow()
{
var parameters = ((App)Application.Current).Parameters;
SetParameters(parameters);
InitializeComponent();
DataContext = this;
TextBoxMg.Focus();
}
private void SetParameters(string[] parameters)
{
if (parameters.Length > 0)
{
Medicament = parameters[0];
if (parameters.Length >= 2)
SpecGravity = Convert.ToSingle(parameters[1]);
else
ShowParametersView();
if (parameters.Length >= 3)
Concentration = Convert.ToSingle(parameters[2]);
else
ShowParametersView();
}
else
ShowParametersView();
}
private void ShowParametersView()
{
var parametersView = new ParametersView
{
Medicament = Medicament,
SpecGravity = SpecGravity,
Concentration = Concentration
};
parametersView.ShowDialog();
Medicament = parametersView.Medicament;
SpecGravity = parametersView.SpecGravity;
Concentration = parametersView.Concentration;
}
Проблема в том, что второе приложение стартует и тут же закрывается. Насколько смог определить, происходит это из-за установки параметров. Если в конструкторе вместо вызова метода SetParameters() вызвать сразу ShowParametersView(), то все прекрасно работает.
Что делаю неправильно?
P.S. Из консольного приложения запускается без проблем, под отладчиком с параметрами тоже работает
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники