CommandBinding.CanExecute Evento

Definición

Se produce cuando el comando asociado a esto 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 Open ejemplo siguiente se crea un CommandBinding objeto que asigna un ExecutedRoutedEventHandler controlador y al CanExecuteRoutedEventArgs 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 que establece trueCanExecute en .

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 para el que CommandBinding se llama. Si el destino del comando no tiene un CommandBinding para el comando, el CanExecute evento propaga el árbol de elementos buscando un elemento que tiene asociado CommandBinding con el comando .

Información del evento enrutado

Elemento Value
Campo identificador CanExecuteEvent
Estrategia de enrutamiento Bubbling
Delegado CanExecuteRoutedEventHandler

Se aplica a

Consulte también