я следующий код в моем App.xaml.csApp XAML предполагает первое окно инстанцирован главное окно (ShowDialog игнорируется), мне нужно, чтобы показать несколько окон
private void App_Start(object sender, StartupEventArgs e)
{
if (CompletedInstall())
{
//using show to allow for pacifier if loading is slow
var manager = new WINServiceConfig();
MainWindow = manager;
manager.ShowDialog();
}
}
private bool CompletedInstall()
{
var window = new Initialize();
window.ShowDialog();
return window.DoLaunchManager;
}
и следующие в App.xaml
<Application x:Class="Manager.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="App_Start">
Когда я закомментируйте строку, которая проверяет CompletedInstall()manager.ShowDialog() работает отлично, и мои окна конфигурации шоу. Когда CompletedInstall() называется вызовом manager.ShowDialog() возвращает сразу, не показывая окно. Я добавил основное окно, исходя из предположения, что где-то вдоль линии кто-то решил, что приложение должно показывать только одно окно.
Я нашел обходной путь, установив главного окна перед вызовом CompletedInstall
private void App_Start(object sender, StartupEventArgs e)
{
var manager = new WINServiceConfig();
MainWindow = manager;
if (CompletedInstall())
{
manager.ShowDialog();
}
, но это заставляет меня развивать WINServiceConfig (в частности, конструктор), основанный на его использовании, потому что она не может рассчитывать на предпосылках завершения. Это плохая форма. Что еще я могу сделать, чтобы обойти эту проблему?
Dummy window? Это не лучший ответ. Может это??
Спасибо. Это исправило это. – rediVider