CommandBinding.CanExecute Zdarzenie

Definicja

Występuje, gdy polecenie skojarzone z tym CommandBinding inicjuje sprawdzenie, czy polecenie można wykonać na obiekcie docelowym polecenia.

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 

Typ zdarzenia

Przykłady

Poniższy przykład tworzy obiekt CommandBinding , który mapuje ExecutedRoutedEventHandler program obsługi i CanExecuteRoutedEventArgs na Open polecenie .

<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)

Poniżej przedstawiono, CanExecuteRoutedEventHandler które ustawia wartość 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

Uwagi

CanExecute Gdy metoda w obiekcie RoutedCommand jest wywoływana, PreviewCanExecute zdarzenie jest wywoływane w obiekcie docelowym polecenia. Jeśli zdarzenie nie jest obsługiwane, CanExecute zdarzenie jest zgłaszane. Jeśli element docelowy polecenia ma CommandBinding dla polecenia , wywoływana CanExecute jest procedura obsługi dla tego CommandBinding polecenia. Jeśli element docelowy polecenia nie ma CommandBinding elementu docelowego dla polecenia, CanExecute zdarzenie bąbelkuje drzewo elementów wyszukuje element, który ma CommandBinding skojarzony z poleceniem .

Informacje dotyczące kierowanego zdarzenia

Pole identyfikatora CanExecuteEvent
Strategia routingu Propagacji
Delegat CanExecuteRoutedEventHandler

Dotyczy

Zobacz też