WPF ShowDialog немедленно возвращает ноль при втором вызове
Я думаю, что это ошибка в платформе WPF, не вдаваясь в глубины моей программы, и почему я делаю то, что делаю, я написал простое тестовое приложение, чтобы доказать свою теорию.
Можно ли подтвердить эту проблему? Каковы возможные обходные пути для серии диалогов, которые должны быть выполнены до помещения приложения в цикл выполнения?
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;
namespace ShowDialogWindow
{
///
/// Interaction logic for App.xaml
///
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()
инструкция.
Пожалуйста, поправьте меня, если я неправильно понимаю.