Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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
Show:
© 2015 Microsoft