2010-12-10 15 views

Respuesta

13

La documentación de MSDN hacen un buen trabajo de mostrar la distinción:

La Clase Popup:

representa una ventana emergente que tiene contenido.

El ContextMenu Clase:

representa un menú emergente que permite un control para exponer la funcionalidad que es específico para el contexto del control .

Así que la ContextMenu es una versión más específica de un Popup - que está destinado a ser unido a un control específico, proporcionando formas de interactuar con ese control. Lea más en la página MSDN: el ContextMenu tiene funciones integradas para mostrarse cuando hace clic derecho en el control asociado, y se muestra automáticamente dentro de a Popup.

La clase Popup es mucho más general: simplemente define una ventana de barebones (sin fronteras por defecto o la decoración) que pueden mostrar cualquier arbitraria UIElement encima de otros controles (nótese que la clase Popup es parte de la Primitives espacio de nombres, significado está destinado a ser parte de la composición de otros controles, como el ContextMenu).