This documentation is archived and is not being maintained.

RoutedUICommand Class

Defines an ICommand that is routed through the element tree and contains a text property.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

[TypeConverterAttribute("System.Windows.Input.CommandConverter, PresentationFramework, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public class RoutedUICommand : RoutedCommand
<RoutedUICommand .../>
<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.


The xlmns prefix that maps customClassName.customCommandName to the .NET class. For more information, see XAML Namespaces and Namespace Mapping.


A custom class that contains the custom command.


A custom command.

The difference between a RoutedUICommand and RoutedCommand is that RoutedUICommand includes a Text property.

The Execute and CanExecute methods on a RoutedCommand do not contain the command logic for the command, as is the case with a typical ICommand. 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.


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

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0