Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
RoutedCommand Class
Collapse the table of content
Expand the table of content

RoutedCommand Class

Defines a command that implements ICommand and is routed through the element tree.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[<TypeConverterAttribute("System.Windows.Input.CommandConverter, PresentationFramework, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type RoutedCommand =  
        interface ICommand 
<RoutedCommand .../>
<object property="predefinedCommandName"/>- or -<object property="predefinedClassName.predefinedCommandName"/>- or -<object property="{x:Static customClassName.customCommandName}"/>

XAML Values


One of the predefined command classes.


One of the predefined commands.


A custom class which contains the custom command. Custom classes generally require an xlmns prefix mapping; see XAML Namespaces and Namespace Mapping for WPF XAML.


A custom command.

The RoutedCommand type exposes the following members.

Public methodRoutedCommand()Initializes a new instance of the RoutedCommand class.
Public methodRoutedCommand(String, Type)Initializes a new instance of the RoutedCommand class with the specified name and owner type.
Public methodRoutedCommand(String, Type, InputGestureCollection)Initializes a new instance of the RoutedCommand class with the specified name, owner type, and collection of gestures.

Public propertyInputGesturesGets the collection of InputGesture objects that are associated with this command.
Public propertyNameGets the name of the command.
Public propertyOwnerTypeGets the type that is registered with the command.

Public methodCanExecuteDetermines whether this RoutedCommand can execute in its current state.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodExecuteExecutes the RoutedCommand on the current command target.
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public eventCanExecuteChangedOccurs when changes to the command source are detected by the command manager. These changes often affect whether the command should execute on the current command target.

Explicit interface implemetationPrivate methodICommand.CanExecuteFor a description of this members, see CanExecute.
Explicit interface implemetationPrivate methodICommand.ExecuteFor a description of this members, see Execute.

The Execute and CanExecute methods on a RoutedCommand do not contain the application logic for the command as is the case with a typical ICommand, but rather, these methods raise events that traverse the element tree looking for an object with a CommandBinding. The event handlers attached to the CommandBinding contain the command logic.

The Execute method raises the PreviewExecuted and Executed events. The CanExecute method raises the PreviewCanExecute and CanExecute events.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft