2010-07-18 5 views
6

À l'heure actuelle, j'ai une fenêtre normale avec un tas de contrôles.Comment superposer un contrôle sur une fenêtre?

Lorsque l'utilisateur clique sur un bouton donné, je souhaite réduire la taille de la fenêtre entière et afficher une fenêtre contextuelle. Pas une vraie boîte de dialogue, juste quelque chose qui est à l'intérieur de la fenêtre.

donc ma théorie ...

  1. Chaque commande est sur la couche 0.
  2. Il y a un rectangle de la même taille que la forme dans la couche 1. Cette transparence a 50%.
  3. Mon popup est chargé dans le calque 2.
  4. Cliquer n'importe où sur le rectangle fera la même chose qu'appuyer sur fermer sur le pop-up.

Est-ce possible?

Répondre

9

Ceci est parfaitement possible.

Mettez votre interface utilisateur entière dans n'importe quel panneau à l'intérieur d'un <Grid>.

Ensuite, dans la même grille, mettez un <Rectangle Opacity=".5" Visibility="Collapsed" /> pour la superposition et un panneau centré pour le popup.

Gérez l'événement click du rectangle et masquer le popup.

+0

Cela a fonctionné comme un charme. –

+1

@SLaks Ai-je juste besoin d'ajouter '' car je ne vois pas de Rectangle apparaître quand je change le 'Visibility' en' Visible'. Comment puis-je obtenir le rectangle pour remplir toute la fenêtre? – MattC

Questions connexes