XamlUICommand XamlUICommand XamlUICommand XamlUICommand Class


Provides a base class for defining the command behavior of an interactive UI element that performs an action when invoked (such as sending an email, deleting an item, or submitting a form).

public : class XamlUICommand : DependencyObject, ICommand
struct winrt::Windows::UI::Xaml::Input::XamlUICommand : DependencyObject, ICommand
public class XamlUICommand : DependencyObject, ICommand
Public Class XamlUICommand Inherits DependencyObject Implements ICommand

Windows 10 requirements

Device family
Windows 10, version 1809 (introduced v10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v7)



For more info, design guidance, and code examples, see Command design basics.

If you have the XAML Controls Gallery app installed, click here to open the app and see the StandardUICommand in action.


Implements the ICommand interface (Windows.UI.Xaml.Input.ICommand for C++ or System.Windows.Input.ICommand for C#), adding various UI properties, methods, and events.

XamlUICommand derived classes

XamlUICommand is the parent class for StandardUICommand, which exposes a set of standard platform commands with pre-defined properties.

For a basic commanding example see the Button control, which is designed to make something happen when a user clicks it.

There are two ways to process a Button command (controls with a Command property support similar functionality):

  • Handle the Click event
  • Bind the Command property to an ICommand implementation that describes the command logic

XamlUICommand lets you specify UI through the control binding, such as an icon, label, description, and keyboard shortcuts (both an access key and a keyboard accelerator), without setting the individual properties.


XamlUICommand() XamlUICommand() XamlUICommand() XamlUICommand()

Initializes a new instance of the XamlUICommand class.


AccessKey AccessKey AccessKey AccessKey

Gets or sets the access key (mnemonic) for this element.

AccessKeyProperty AccessKeyProperty AccessKeyProperty AccessKeyProperty

Identifies the AccessKey dependency property.

Command Command Command Command

Gets or sets the command behavior of an interactive UI element that performs an action when invoked, such as sending an email, deleting an item, or submitting a form.

CommandProperty CommandProperty CommandProperty CommandProperty

Identifies the Command dependency property.

Description Description Description Description

Gets or sets a description for this element.

DescriptionProperty DescriptionProperty DescriptionProperty DescriptionProperty

Identifies the Description dependency property.

Dispatcher Dispatcher Dispatcher Dispatcher

Gets the CoreDispatcher that this object is associated with. The CoreDispatcher represents a facility that can access the DependencyObject on the UI thread even if the code is initiated by a non-UI thread.

(Inherited from DependencyObject)
IconSource IconSource IconSource IconSource

Gets or sets a glyph from the Segoe MDL2 Assets font for this element.

IconSourceProperty IconSourceProperty IconSourceProperty IconSourceProperty

Identifies the IconSource dependency property.

KeyboardAccelerators KeyboardAccelerators KeyboardAccelerators KeyboardAccelerators

Gets or sets the collection of key combinations for this element that invoke an action using the keyboard.

KeyboardAcceleratorsProperty KeyboardAcceleratorsProperty KeyboardAcceleratorsProperty KeyboardAcceleratorsProperty

Identifies the KeyboardAccelerators dependency property.

Label Label Label Label

Gets or sets the label for this element.

LabelProperty LabelProperty LabelProperty LabelProperty

Identifies the Label dependency property.


CanExecute(Object) CanExecute(Object) CanExecute(Object) CanExecute(Object)

Retrieves whether the command can execute in its current state.

ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

Clears the local value of a dependency property.

(Inherited from DependencyObject)
Execute(Object) Execute(Object) Execute(Object) Execute(Object)

Invokes the command.

GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty)

Returns any base value established for a dependency property, which would apply in cases where an animation is not active.

(Inherited from DependencyObject)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

Returns the current effective value of a dependency property from a DependencyObject.

(Inherited from DependencyObject)
NotifyCanExecuteChanged() NotifyCanExecuteChanged() NotifyCanExecuteChanged() NotifyCanExecuteChanged()

Notifies the system that the command state has changed.

ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

Returns the local value of a dependency property, if a local value is set.

(Inherited from DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback) RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback) RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback) RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback)

Registers a notification function for listening to changes to a specific DependencyProperty on this DependencyObject instance.

(Inherited from DependencyObject)
SetValue(DependencyProperty,Object) SetValue(DependencyProperty,Object) SetValue(DependencyProperty,Object) SetValue(DependencyProperty,Object)

Sets the local value of a dependency property on a DependencyObject.

(Inherited from DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty,Int64) UnregisterPropertyChangedCallback(DependencyProperty,Int64) UnregisterPropertyChangedCallback(DependencyProperty,Int64) UnregisterPropertyChangedCallback(DependencyProperty,Int64)

Cancels a change notification that was previously registered by calling RegisterPropertyChangedCallback.

(Inherited from DependencyObject)


CanExecuteChanged CanExecuteChanged CanExecuteChanged CanExecuteChanged

Occurs whenever something happens that affects whether the command can execute.

CanExecuteRequested CanExecuteRequested CanExecuteRequested CanExecuteRequested

Occurs when a CanExecute call is made.

ExecuteRequested ExecuteRequested ExecuteRequested ExecuteRequested

Occurs when an Execute call is made.

See also