WPF ShowDialog немедленно возвращает ноль при втором вызове

Я думаю, что это ошибка в платформе WPF, не вдаваясь в глубины моей программы, и почему я делаю то, что делаю, я написал простое тестовое приложение, чтобы доказать свою теорию.

Можно ли подтвердить эту проблему? Каковы возможные обходные пути для серии диалогов, которые должны быть выполнены до помещения приложения в цикл выполнения?

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;

namespace ShowDialogWindow
{
  /// <summary>
  /// Interaction logic for App.xaml
  /// </summary>
  public partial class App : Application
  {
    protected override void OnStartup(StartupEventArgs e)
    {
       Window testWindow = new Window();
       testWindow.ShowDialog();
       testWindow.Close();
       // THE CODE BELOW WILL NOT SHOW THE NEXT WINDOW
       Window testWindow2 = new Window();
       testWindow2.ShowDialog();
       testWindow2.Close();
    }
  }
}
Обновить:

Конечно, я могу изменить свой дизайн, чтобы приспособиться к этому поведению. Однако то, что я пытался сделать, было действительно просто.

Я получил мойMyApplication изApplication, НаMain()Я инициирую серию проверок запуска, например, информацию о лицензии, заставку, проверки подключения и конфигурации и т. Д. Когда мне все ясно, я звонюMyApplicatiom.Run(MyMainForm).

Этот дизайн основан на обычном приложении Windows, которое работает без проблем.

Большое спасибо за вашу помощь, и я буду помнить, что вы не можете позвонитьShowDialog() доapplication.Run() поскольку это просто инициализирует отключение. Однако я бы подумал, что последовательность выключения должна начинаться только послеApp.Run() инструкция.

Пожалуйста, поправьте меня, если я неправильно это понимаю.

Ответы на вопрос(2)

Ваш ответ на вопрос