Freigeben über


CommandBinding.CanExecute Ereignis

Definition

Tritt auf, wenn der dieser CommandBinding zugeordnete Befehl eine Überprüfung initiiert, um zu ermitteln, ob der Befehl für das Befehlsziel ausgeführt werden kann.

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 

Ereignistyp

Beispiele

Im folgenden Beispiel wird ein CommandBinding erstellt, das dem Open Befehl einen ExecutedRoutedEventHandler und einen CanExecuteRoutedEventArgs Handler zuordnet.

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

Im Folgenden wird gezeigt CanExecuteRoutedEventHandler , welches auf festgelegt wird 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

Hinweise

Wenn die CanExecute -Methode für ein RoutedCommand aufgerufen wird, wird das PreviewCanExecute -Ereignis für das Befehlsziel ausgelöst. Wenn das Ereignis nicht behandelt wird, wird das CanExecute Ereignis ausgelöst. Wenn das Befehlsziel einen CommandBinding für den Befehl enthält, wird der CanExecute Handler dafür CommandBinding aufgerufen. Wenn das Befehlsziel keinen für den Befehl enthält CommandBinding , wird die Elementstruktur durch das CanExecute Ereignis aufgeblasen, um nach einem Element zu suchen, das dem Befehl zugeordnet CommandBinding ist.

Informationen zum Routingereignis

Bezeichnerfeld CanExecuteEvent
Routingstrategie Bubbling
Delegat CanExecuteRoutedEventHandler

Gilt für:

Weitere Informationen