ContextMenu
类和Popup
类之间有什么区别?
MSDN文档在显示区别方面做得很好:
Popup类:
代表一个弹出窗口, 内容。
代表一个弹出菜单,它启用了 公开功能的控件 特定于 控制。
因此ContextMenu
是Popup
的一个更特定的版本-它打算绑定到特定的控件,从而提供与该控件进行交互的方式。在MSDN页面上进一步阅读:ContextMenu
具有内置功能,可在您右键单击关联的控件时显示其自身,并且会自动显示在[[内部 Popup
中。
Popup
类更为笼统:它只是定义了一个准系统窗口(没有默认边框或装饰),可以在其他控件之上显示任意的UIElement
(请注意,Popup
类是该控件的一部分) Primitives命名空间,意味着它应该是其他控件(例如ContextMenu
)组成的一部分。