2009-01-26 10 views
0

Y at-il un moyen de trouver l'ordre z de toutes les fenêtres actives dans mon application (application.current.windows) ou de toute autre façon de savoir ce qui est le «parent» fenêtre d'une fenêtre modale?z-Ordre des fenêtres d'application - WPF

J'essaye d'implémenter une fonctionnalité de «shader», qui devrait s'estomper la fenêtre parent quand une fenêtre modale est montrée. (La seule façon que j'ai trouvée jusqu'ici est de passer la fenêtre "parent" en paramètre, mais je ne l'aime pas vraiment de cette façon).

Répondre

2

Vous devriez quand même passer la fenêtre parente, sinon vous pourriez tomber dans l'étrangeté si l'utilisateur bascule entre votre application et une autre (j'ai dû corriger cela la semaine dernière.). Les fenêtres ont une propriété du propriétaire que vous devez définir lors de l'affichage d'une fenêtre modale:

bool? res = new MyWindow(){Owner = this}.ShowDialog(); 

Ensuite, vous pouvez utiliser la propriété du propriétaire de la fenêtre enfant:

if (Owner != null) { 
Owner.DoWhateverYouWant(); 
} 
+0

Grande idée Ria. Pas exactement ce que je cherchais, mais toujours beaucoup mieux que de créer un nouveau paramètre juste pour la forme "parent". – Entrodus

Questions connexes