Bien este question et este Les questions sont similaires mais aucune réponse ne fonctionne. En fait, j'espérais que WindowStartupLocation=CenterOwner fonctionnerait... mais ce n'est pas le cas. Il semble centrer la nouvelle fenêtre au centre d'une colonne de la grille, et non au centre de la fenêtre principale. Je suppose donc qu'il pense que c'est le parent. Ensuite, lorsque je ferme la boîte de dialogue et que je l'ouvre à nouveau, elle n'est pas centrée mais déplacée vers le bas et la droite par rapport à la position précédente. Et si je déplace la fenêtre principale sur un deuxième moniteur, la fenêtre popup s'ouvre toujours sur le moniteur par défaut. Ces propriétés sont-elles erronées ou est-ce que je pense simplement que cela devrait fonctionner d'une manière différente ? Je suppose que je pourrais calculer les propriétés Haut et Gauche manuellement. Je veux simplement que la fenêtre popup soit centrée dans la fenêtre principale, où qu'elle se trouve.
Vous pouvez également définir le propriétaire avant d'appeler .Show()
o .ShowDialog()
sur la fenêtre : window.Owner = this;