web-dev-qa-db-fra.com

WPF désactiver la fenêtre principale pendant que la deuxième fenêtre est ouverte jusqu'à sa fermeture

J'ai une application WPF avec une fenêtre principale et une deuxième fenêtre qui peut être ouverte à partir d'un bouton dans la fenêtre principale. Je veux que la fenêtre principale soit désactivée pendant que la deuxième fenêtre est ouverte en tant que fenêtre "À propos" dans Visual Studio.

15
user3719173

Essayez ceci méthode ShowDialog au lieu de Show pour ouvrir la deuxième fenêtre sous forme de dialogue.

  1. Vous avez déjà un projet WPF avec une fenêtre. Cette application devrait fonctionner.

  2. Faites un clic droit sur le projet et ajoutez une nouvelle fenêtre. Vous l'appelez Window1.xaml

  3. Vous remarquerez maintenant Window1.xaml et Window1.xaml.cs ajoutés à votre projet. (le nom de classe de la fenêtre serait Window1 qui se trouve dans le fichier .xaml.cs et qui dérive de Window; également une classe partielle)

  4. Ouvrez le fichier XAML pour Window1 (Window1.xaml) et ajoutez vos contrôles. Traitez-le comme n'importe quelle autre fenêtre et écrivez du code.

  5. Maintenant, dans votre fenêtre principale (la première), vous ajoutez un bouton qui, lorsqu'il est cliqué, devrait afficher la fenêtre nouvellement créée.

Pour cela à l'intérieur du gestionnaire de clic, ....

var newWindow = new Window1();
newWindow.ShowDialog();

Ce Window1 Devrait être le design de votre page À propos. L'invoquer avec ShowDialog(); désactive les autres fenêtres et la seule fenêtre active sera votre page about.

47
Karthik Nishanth