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.

public:
 event System::Windows::Input::CanExecuteRoutedEventHandler ^ CanExecute;
public event System.Windows.Input.CanExecuteRoutedEventHandler CanExecute;
member this.CanExecute : System.Windows.Input.CanExecuteRoutedEventHandler 
Public Custom Event CanExecute As CanExecuteRoutedEventHandler 
Public Event CanExecute As CanExecuteRoutedEventHandler 

Tipo de evento

Ejemplos

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

<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);
' Creating CommandBinding and attaching an Executed and CanExecute handler
Dim OpenCmdBinding As New CommandBinding(ApplicationCommands.Open, AddressOf OpenCmdExecuted, AddressOf OpenCmdCanExecute)

Me.CommandBindings.Add(OpenCmdBinding)

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

void OpenCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    e.CanExecute = true;
}
Private Sub OpenCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    e.CanExecute = True
End Sub

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

Consulte también