2010-10-28 3 views
0

La fenêtre qui s'ouvre dans mon application reste toujours en tête. Il s'en va quand je minimise l'application. Mais sinon, si l'application ouvre une nouvelle fenêtre ou si je passe à un autre programme sans minimiser l'application, la fenêtre reste en haut. Comment cacher le popup lorsque l'application perd son focus?WPF: Popup flotte toujours sur le dessus. Comment puis-je corriger cela?

Merci

Répondre

2

Il semble que vous devez définir le propriétaire/parent de la fenêtre à la fenêtre correcte en définissant la propriété du propriétaire à la fenêtre qui l'a créé.

+0

Et comment feriez-vous cela? La propriété Propriétaire d'une fenêtre doit être une fenêtre qui n'est pas une fenêtre contextuelle? – esylvestre

+0

@esylvestre: lorsque vous créez la fenêtre contextuelle, définissez le propriétaire du popup sur la fenêtre visible lors de sa création (par exemple la fenêtre principale de l'application) –

+0

Comment installer le propriétaire d'un popup? – sll

0

Vous pouvez passer propriétaire (fenêtre parent) au constructeur de la fenêtre puis spécifiez

public class PopupWindow: Window 
{ 
    public PopupWindow(Window owner) 
    { 
     this.Owner = owner; 
    } 
} 

Ouvrez ensuite la fenêtre pop-up

Maintenant, pour ouvrir la fenêtre pop-up vous utiliserez quelque chose comme ça :

var popup = new PopupWindow(ownerWindow); 
popup.Show(); 

ou si l'appelant est un parent (propriétaire)

var popup = new PopupWindow(this); 
popup.Show(); 
Questions connexes