Запуск приложения WPF с параметрами

805
26 ноября 2016, 20:36

Имеется приложение 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. Из консольного приложения запускается без проблем, под отладчиком с параметрами тоже работает

READ ALSO
Как правильно сделать таймер в service на xamarin android?

Как правильно сделать таймер в service на xamarin android?

Приложение запускает Service по нажатию на кнопку, в котором начинает тикать таймер

585
Бордер перемещаемый мышкой

Бордер перемещаемый мышкой

Хочу сделать кубик, который я бужу двигать по Canvas'у мышкой и после каждого переноса бордера в текст боксе выводило бы его конечные координаты...

419
Показать главную форму после скрытия

Показать главную форму после скрытия

У меня есть две формы(Form1, Form2)Form1 появляется сразу после запуска программы, является основной и запускается через Application

481
Error at line Image.FromStream(ms, true), image from db

Error at line Image.FromStream(ms, true), image from db

I am trying to read "ico" image from MS SQL DB and set the to button imageI am getting an error(Parameter is not valid) at line: using (var img = Image

391