Je le code suivant dans mon App.xaml.csApp XAML prend la première fenêtre instancié est la fenêtre principale (ShowDialog est ignorée), je dois montrer plusieurs fenêtres
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;
}
et les suivants dans la 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">
Quand je commente la ligne qui vérifie CompletedInstall() le manager.ShowDialog() fonctionne très bien, et mes spectacles de fenêtre de configuration. Lorsque CompletedInstall() est appelé l'appel à manager.ShowDialog() revient tout de suite sans afficher la fenêtre. J'ai ajouté la fenêtre principale en supposant que quelque part le long de la ligne quelqu'un a décidé qu'une application ne devrait montrer qu'une seule fenêtre.
Je trouve une solution de contournement en définissant la fenêtre principale avant d'appeler CompletedInstall
private void App_Start(object sender, StartupEventArgs e)
{
var manager = new WINServiceConfig();
MainWindow = manager;
if (CompletedInstall())
{
manager.ShowDialog();
}
mais cela me force à développer WINServiceConfig (en particulier le constructeur) en fonction de son utilisation, car il ne peut pas compter sur les conditions d'achèvement. C'est une mauvaise forme. Que puis-je faire d'autre pour contourner ce problème?
Fenêtre fictive? Cela ne peut pas être la meilleure réponse. Peut-il??
Merci. Cela l'a réparé. – rediVider