CanExecute Property
Collapse the table of content
Expand the table of content

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
Available since 3.0
Return to top
Show:
© 2016 Microsoft