ContextMenu
类和Popup
类之间有什么区别?MSDN文档很好地展示了两者的区别:
Popup类:
表示具有内容的弹出窗口。
表示弹出菜单,使控件能够公开特定于控件上下文的功能。
因此,ContextMenu
是Popup
的更具体版本 - 它旨在绑定到特定控件,提供与该控件交互的方式。请在MSDN页面上进一步阅读:ContextMenu
具有内置功能,在右键单击关联控件时显示自身,并且它会自动显示在Popup
中。
Popup
类更为通用:它仅定义了一个基本窗口(没有默认边框或装饰),可以在其他控件的顶部显示任何任意的UIElement
(请注意,Popup
类是Primitives命名空间的一部分,这意味着它旨在成为其他控件的组成部分,例如ContextMenu
)。