@bestdk2

Почему не выполняется InitializeComponent?

Добрый день.
Разрабатывают приложение работающее с условными файлами. И необходимо открывать файлы некоторого разрешение по дабл клику. Делать пока решил без записей в регистр, а просто через открыть с помощью и указанием пути до файла.
Код App.xaml.cs:
protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            if (e.Args.Length != 0)
            {
                Uri uri = new Uri(e.Args[0]);
                this.Properties["ArbitraryArgName"] = uri.LocalPath;
                ASKD.MainWindow window = new ASKD.MainWindow();
  
                window.Show();
            }   
        }


В MainWindow на методе Loaded пишу следующее:
private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => { // запустится когда все дети загрузятся
                
                if (Application.Current.Properties["ArbitraryArgName"] != null)
                {
                    CurrentPath = Application.Current.Properties["ArbitraryArgName"].ToString();

                    if (File.Exists(CurrentPath))
                    {
                        
                       //делаю всякое
                    }
                }
            }));

В итоге - приложение не запускается. Вернее доходит до InitializeComponent() в MainWindow и на это благополучно ничего не происходит. Однако, если открыть файл в одной папке с exeшником, то чудо происходит. Как решить такую проблему?
Спасибо.
  • Вопрос задан
  • 523 просмотра
Решения вопроса 1
tomnolane
@tomnolane
профессиональный разработчик
тут походу содержится ваш ответ (в самом внизу)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы