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 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 |
- El evento de tunelización correspondiente es PreviewCanExecute.