0 out of 1 rated this helpful - Rate this topic

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, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.