WPF ShowDialog zwraca null natychmiast po drugim wywołaniu

Myślę, że jest to błąd w strukturze WPF, bez wchodzenia w szczegóły mojego programu i dlaczego robię to, co robię, napisałem prostą aplikację testową, aby udowodnić moją teorię.

Czy można potwierdzić ten problem? Jakie są możliwe sposoby obejścia szeregu okien dialogowych, które należy wykonać przed wprowadzeniem aplikacji do pętli uruchamiania?

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();
    }
  }
}
Aktualizacja:

Oczywiście mogę zmienić swój projekt, aby dostosować się do tego zachowania. To, co próbowałem zrobić, było jednak bardzo proste.

Wyprowadziłem mojeMyApplication zApplication. NaMain(), Rozpoczynam serię kontroli startu, na przykład informacje licencyjne, ekran powitalny, sprawdzanie łączności i konfiguracji, itd. Kiedy zrozumiem wszystko, dzwonięMyApplicatiom.Run(MyMainForm).

Ten projekt opiera się na normalnej aplikacji Windows, która działa bez problemu.

Bardzo dziękuję za pomoc i będę pamiętać, że nie możesz zadzwonićShowDialog() przedapplication.Run() ponieważ po prostu unieruchamia wyłączenie. Pomyślałbym jednak, że sekwencja wyłączania powinna zostać zainicjowana dopiero poApp.Run() instrukcja.

Popraw mnie, jeśli rozumiem to źle.

questionAnswers(2)

yourAnswerToTheQuestion