2010-06-01 4 views
0

Dans les propriétés de la fenêtre parent, je mis WindowStatupLocation = CenterScreen Dans les propriétés de la fenêtre de l'enfant que je mets WindowStatupLocation = CenterOwnerWindowStatupLocation = CenterScreen ne fonctionne pas correctement dans WPF

sur le bouton, cliquez dans la fenêtre parent si Je montre la fenêtre enfant, la position de la fenêtre enfant n'est pas le propriétaire du centre.

Est-ce un bug dans WPF ou est-ce que je fais quelque chose de mal?

Répondre

1

Vous devez définir le propriétaire de la fenêtre enfant sur la fenêtre parente.

WindowChild windowChild = new WindowChild(); 
windowChild.WindowStartupLocation = WindowStartupLocation.CenterOwner; // you can set this in xaml 
windowChild.Owner = this; // this is parent window 
windowChild.Show(); 
+0

Merci pour la réponse. Que faire si, si je montre la boîte de dialogue de mon viewmodel. Je veux dire, comment puis-je définir le propriétaire alors ?? –

+0

Une véritable machine virtuelle ne devrait pas afficher de boîtes de dialogue. Au lieu de cela, ajoutez une propriété bool dans la machine virtuelle que la fenêtre parent va regarder. Lorsque la VM le définit sur true/false, la fenêtre parent affichera/cachera la fenêtre enfant. –

0

Avez-vous essayé de définir explicitement la propriété ChildWindow.Parent avec la fenêtre qui sera son parent?

Questions connexes