FrameworkElement.ContextMenu Property

Gets or sets the context menu element that should appear whenever the context menu is requested through user interface (UI) from within this element. This is a dependency property.

Namespace: System.Windows
Assembly: PresentationFramework (in presentationframework.dll)
XML Namespace:

property ContextMenu^ ContextMenu {
	ContextMenu^ get ();
	void set (ContextMenu^ value);
/** @property */
public ContextMenu get_ContextMenu ()

/** @property */
public void set_ContextMenu (ContextMenu value)

public function get ContextMenu () : ContextMenu

public function set ContextMenu (value : ContextMenu)

    <ContextMenu .../>

Property Value

The context menu assigned to this element.

Identifier field


Metadata properties set to true


ContextMenu itself is a FrameworkElement derived class, and it is technically possible for ContextMenu itself to have a ContextMenu property. However, this creates a confusing context menu experience for the user and this practice is not recommended.

This example describes how to create a ContextMenu.

The ContextMenu controls are connected to buttons and have a collection of MenuItem elements

<Button Name="cmButton" Height="30">
  Button with Context Menu
    <ContextMenu Name="cm" Opened="OnOpened" Closed="OnClosed" StaysOpen="true">
      <MenuItem Header="File"/>
      <MenuItem Header="Save"/>
      <MenuItem Header="SaveAs"/>
      <MenuItem Header="Recent Files">
        <MenuItem Header="ReadMe.txt"/>
        <MenuItem Header="Schedule.xls"/>

No code example is currently available or this language may not be supported.

For the complete sample see ContextMenu Sample.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0