2010-05-10 3 views
0

J'ai une application qui se connecte à un serveur. Dans la barre d'état, je montre l'état de la connexion et en cliquant sur le bouton, je veux ouvrir un sous-menu "menu like" sur l'état indiquant le contrôle où des informations de connexion plus détaillées s'affichent (par exemple: nom d'utilisateur, nom du serveur, ping delay rebrancher le bouton). Cela devrait ressembler fondamentalement à un menu inverse - et lorsque l'utilisateur clique en dehors de cette zone, le clic extérieur devrait être supprimé (ne pas déclencher quoi que ce soit), mais la boîte d'informations détaillées devrait disparaître.menu WPF comme contrôle montrant en cliquant sur un contrôle;) Comment?

Je suis un peu perdu ici - la première fois que je dois faire quelque chose comme ça dans WPF.

  • Quel contrôle serait recommandé comme base ici? Jusqu'à présent, j'ai un contrôle personnalisé pour la barre d'état - mais fondamentalement, il se transforme en une zone de texte. Notez que le popup n'est pas un menu - il devrait montrer une vue détaillée du contrôle, donc je ne pense pas que je puisse réutiliser n'importe quel contrôle existant.

  • any Comment vous y prendre?

Merci d'avance.

Répondre

1

Deux contrôles de se pencher sur:
1. Expander (cela pourrait fonctionner, mais attention, il peut passer vos autres contrôles
2. Bouton avec modèle Faites un ControlTemplate pour un bouton qui comprend un élément de Popup.. Cet article peut alors être lié à un ensemble de déclencheurs/événements dans le bouton ou dans la forme plus large.J'espère que cela aide :)

+0

1 est hors - donner le contrôle original vit sur la barre d'état, fondamentalement, il est TRÈS petit (combien de texte "Connecté" prend-il?). Vous avez d'autres liens vers les éléments de l'objet Popup que vous mentionnez? – TomTom

+0

Trouvé - il y a effectivement un contrôle PopUp dans WPF;) Nice. Merci. – TomTom

+0

Pas de problème, alors je ne pouvais pas aller et commenter, faisait quelque chose. J'espère que cela fonctionne pour toi :) – TerrorAustralis