MenuItem.Command Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the command associated with the menu item.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public ICommand Command { get; set; }

Property Value

Type: System.Windows.Input.ICommand

The command associated with the MenuItem. The default is null.

This property is used to associate a command with a particular MenuItem instance. The following example associates the Copy command with a MenuItem and automatically supplies the input gesture text Ctrl+C. The example does not set the Header property, but the Header for the MenuItem is "Copy" at run time. You can specify another header for the MenuItem if you want it to be different. For information on how to bind to the desired command, see Add a Command to a MenuItem.

<MenuItem Command="ApplicationCommands.Copy"/>

A command is raised when a MenuItem is clicked—just after the Click event. The command is raised on the element according to the following priorities:

  1. If CommandTarget is set on the MenuItem, that element is used.

  2. The PlacementTarget of a ContextMenu that contains the MenuItem.

  3. The focus target of the main window that contains a Menu.

  4. The MenuItem that was clicked.

Identifier field


Metadata properties set to true


The following examples show how to use the command property to associate commands with menu items.

<MenuItem Header="_Open" Command="ApplicationCommands.Open"/>
<MenuItem Header="_Save" Command="ApplicationCommands.Save"/>
mib = new MenuItem();
mib.Command = System.Windows.Input.ApplicationCommands.Copy;
mib.Header = "_Copy";

mic = new MenuItem();
mic.Command = System.Windows.Input.ApplicationCommands.Paste;
mic.Header = "_Paste";

.NET Framework
Available since 3.0
Return to top