CommandBinding.CanExecute Event
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace: http://schemas.microsoft.com/winfx/2006/xaml/presentation
'Declaration Public Event CanExecute As CanExecuteRoutedEventHandler 'Usage Dim instance As CommandBinding Dim handler As CanExecuteRoutedEventHandler AddHandler instance.CanExecute, handler
/** @event */ public void add_CanExecute (CanExecuteRoutedEventHandler value) /** @event */ public void remove_CanExecute (CanExecuteRoutedEventHandler value)
In JScript, you can handle the events defined by a class, but you cannot define your own.
<object CanExecute="CanExecuteRoutedEventHandler" .../>
| Identifier field | None |
| Routing strategy | Bubbling |
| Delegate |
-
The corresponding tunneling event is PreviewCanExecute.
When the CanExecute method on a RoutedCommand is called, the PreviewCanExecute event is raised on the command target. If the event is not handled, the CanExecute event is raised. If the command target has a CommandBinding for the command, the CanExecute handler for that CommandBinding is called. If the command target does not have a CommandBinding for the command, the CanExecute event bubbles up the element tree searching for an element that has a CommandBinding associated with the command.
The following example creates a CommandBinding that maps an ExecutedRoutedEventHandler and a CanExecuteRoutedEventArgs handler to the Open command.
<Window.CommandBindings> <CommandBinding Command="ApplicationCommands.Open" Executed="OpenCmdExecuted" CanExecute="OpenCmdCanExecute"/> </Window.CommandBindings>
// Creating CommandBinding and attaching an Executed and CanExecute handler CommandBinding OpenCmdBinding = new CommandBinding( ApplicationCommands.Open, OpenCmdExecuted, OpenCmdCanExecute); this.CommandBindings.Add(OpenCmdBinding);
The following shows the CanExecuteRoutedEventHandler which sets CanExecute to true.
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.