CanExecuteRoutedEventArgs.CanExecute Property

Gets or sets a value that indicates whether the RoutedCommand associated with this event can be executed on the command target.

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

public bool CanExecute { get; set; }

Property Value

Type: System.Boolean
true if the event can be executed on the command target; otherwise, false. The default value is false.

Many command sources, such as MenuItem and Button, are disabled when CanExecute is false and enabled when the CanExecute is true.

The follow example creates a CanExecuteRoutedEventHandler that only returns true if the command target is a control. First the Source event data is cast to a Control. If it is a Control, CanExecute is set to true; otherwise, it is set to false.

// CanExecuteRoutedEventHandler that only returns true if 
// the source is a control. 
private void CanExecuteCustomCommand(object sender, 
    CanExecuteRoutedEventArgs e)
{
    Control target = e.Source as Control;

    if(target != null)
    {
        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