2010-07-26 5 views

Répondre

5

En supposant que le contrôle est directement sous la fenêtre, vous pouvez appeler GetParent sur LogicalTreeHelper.

Vous pouvez, bien sûr, utiliser le LogicalTreeHelper pour traverser l'arborescence si le contrôle n'est pas un descendant direct.

+0

C'est mieux que ce que j'ai actuellement, mais je suis un peu agacé qu'il n'y ait pas de méthode GetWindow. –

1

Vous êtes probablement dans la fenêtre des applications actives au moment où vous interagissez avec le contrôle.

Donc, dans ce cas, cet autre poste sur stackoverflow pourrait être utile aussi:

stackoverflow: get active window(s) in wpf

+0

Cela ressemble à ce qui serait très fragile pour mon cas d'utilisation, mais je vais vous donner un point, car il serait très utile lors de l'affichage d'une fenêtre pop-up avec l'ensemble CenterOwner. –

0

Un peu en retard, mais les travaux suivants assez bien pour moi.

var ownerWindow = Window.GetWindow(yourControl); 
Questions connexes