CommandBinding.CanExecute Evento

Definición

Se produce cuando el comando asociado a este CommandBinding inicia una comprobación para determinar si el comando se puede ejecutar en el destino del comando.

C#
public event System.Windows.Input.CanExecuteRoutedEventHandler CanExecute;

Tipo de evento

Ejemplos

En el ejemplo siguiente se crea un CommandBinding objeto que asigna un ExecutedRoutedEventHandler y un CanExecuteRoutedEventArgs controlador al Open comando .

XAML
<Window.CommandBindings>
  <CommandBinding Command="ApplicationCommands.Open"
                  Executed="OpenCmdExecuted"
                  CanExecute="OpenCmdCanExecute"/>
</Window.CommandBindings>
C#
// Creating CommandBinding and attaching an Executed and CanExecute handler
CommandBinding OpenCmdBinding = new CommandBinding(
    ApplicationCommands.Open,
    OpenCmdExecuted,
    OpenCmdCanExecute);

this.CommandBindings.Add(OpenCmdBinding);

A continuación se muestra el CanExecuteRoutedEventHandler objeto que establece en CanExecutetrue.

C#
void OpenCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    e.CanExecute = true;
}

Comentarios

Cuando se llama al CanExecute método en , RoutedCommand el PreviewCanExecute evento se genera en el destino del comando. Si el evento no se controla, se genera el CanExecute evento . Si el destino del comando tiene un CommandBinding para el comando, se llama al CanExecute controlador de .CommandBinding Si el destino del comando no tiene un CommandBinding para el comando, el CanExecute evento propaga el árbol de elementos en busca de un elemento que tenga asociado CommandBinding al comando .

Información sobre eventos enrutados

Campo identificador CanExecuteEvent
Estrategia de enrutamiento Burbujeante
Delegado CanExecuteRoutedEventHandler

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Consulte también