Skip to main content
Version: 11.0.x


The ContextMenu can be applied to any host control to implement a right-click 'context sensitive' menu. This uses an attached property of the host control.


To review the concept behind this use of an attached property, see here.


This example, a context menu is attached to a multi-line text box:

<TextBox AcceptsReturn="True" TextWrapping="Wrap">
<MenuItem Header="Copy"/>
<MenuItem Header="Paste"/>

Context Flyout

You can use a context flyout as an alternative to a context menu. A context flyout can provide a sharable and richer UI experience than a simple context menu.


A control cannot have a context flyout and a context menu attached at the same time.

A context flyout is invoked automatically like a context menu.

More Information


For the complete API documentation about this control, see here.


View the source code on GitHub ContextMenu.cs