CommandBinding.CanExecute Evento

Definição

Ocorre quando o comando associado a isso CommandBinding inicia uma verificação para determinar se o comando pode ser executado no destino de 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

Exemplos

O exemplo a seguir cria um CommandBinding que mapeia um manipulador e um ExecutedRoutedEventHandlerCanExecuteRoutedEventArgs manipulador para o 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)

O exemplo a seguir mostra quais CanExecuteRoutedEventHandler conjuntos CanExecute são true.

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

Comentários

Quando o CanExecute método em um RoutedCommand é chamado, o PreviewCanExecute evento é gerado no destino de comando. Se o evento não for tratado, o CanExecute evento será acionado. Se o destino de comando tiver um CommandBinding para o comando, o CanExecute manipulador para isso CommandBinding será chamado. Se o destino de comando não tiver um CommandBinding para o comando, o CanExecute evento aumentará a pesquisa da árvore de elementos em busca de um elemento que tenha um CommandBinding associado ao comando.

Informações do evento roteado

Item Value
Campo identificador CanExecuteEvent
Estratégia de roteamento Borbulhando
Delegar CanExecuteRoutedEventHandler

Aplica-se a

Confira também