CanExecuteRoutedEventArgs.Command Property

Gets the command associated with this event.

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

public ICommand Command { get; }

Property Value

Type: System.Windows.Input.ICommand
The command. Unless the command is a custom command, this is generally a RoutedCommand. There is no default value.

For more information on commanding, see the Commanding Overview.

The following example creates a CanExecuteRoutedEventHandler which handles multiple commands. If the Command property is equal to the Play command and the method IsPlaying returns false, CanExecute is set to true; otherwise, CanExecute is set to false. If the Command property is equal to the Stop command and the method IsPlaying returns true, CanExecute is set to true; otherwise, CanExecute is set to false.

private void CanExecuteDisplayCommand(object sender,
    CanExecuteRoutedEventArgs e)
{
    RoutedCommand command = e.Command as RoutedCommand;

    if (command != null)
    {
        if (command == MediaCommands.Play)
        {
            if (IsPlaying() == false)
            {
                e.CanExecute = true;
            }
            else
            {
                e.CanExecute = false;
            }
        }

        if (command == MediaCommands.Stop)
        {
            if (IsPlaying() == true)
            {
                e.CanExecute = true;
            }
            else
            {
                e.CanExecute = false;
            }
        }
    }
}

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft