2010-12-10 8 views

Répondre

13

Les docs MSDN font un bon travail d'afficher la distinction:

La Popup Classe:

Représente une fenêtre pop-up qui a un contenu .

Classe ContextMenu:

représente un menu contextuel qui permet un contrôle d'exposer des fonctionnalités qui est spécifique au contexte du contrôle .

Ainsi, le ContextMenu est une version plus spécifique d'un Popup - il est censé être lié à un contrôle spécifique, offrant des moyens d'interagir avec ce contrôle. Lire plus loin sur la page MSDN: le ContextMenu a des fonctions intégrées pour l'affichage lui-même lorsque vous faites un clic droit sur le contrôle associé, et il est automatiquement affiché dans un Popup.

La classe Popup est beaucoup plus générale: il définit simplement une fenêtre barebones (sans frontières par défaut ou de décoration) qui peut afficher une UIElement arbitraire sur d'autres contrôles (notez que la classe Popup fait partie de l'espace de noms Primitives, sens il est destiné à faire partie de la composition d'autres contrôles, tels que le ContextMenu).