CommandBinding.CanExecute Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
- El evento de tunelización correspondiente es PreviewCanExecute.