CommandBinding.CanExecute Ereignis

Definition

Tritt auf, wenn der diesem zugeordnete CommandBinding Befehl eine Überprüfung initiiert, um festzustellen, ob der Befehl auf dem 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 CommandBindingExecutedRoutedEventHandler Handler und ein CanExecuteRoutedEventArgs Handler dem Befehl zugeordnet Open .

<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 , auf welche Werte festgelegt CanExecute werden 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

Hinweise

Wenn die CanExecute Methode für ein RoutedCommand Ereignis aufgerufen wird, wird das PreviewCanExecute Ereignis auf dem Befehlsziel ausgelöst. Wenn das Ereignis nicht behandelt wird, wird das CanExecute Ereignis ausgelöst. Wenn das Befehlsziel einen CommandBinding für den Befehl hat, wird der CanExecute Handler dafür CommandBinding aufgerufen. Wenn für das Befehlsziel kein CommandBinding Befehl vorhanden ist, übergibt das CanExecute Ereignis die Elementstruktur, die nach einem Element sucht, das dem Befehl zugeordnet ist CommandBinding .

Routingereignisinformationen

Element Wert
Bezeichnerfeld CanExecuteEvent
Routingstrategie Bubbling
Delegieren CanExecuteRoutedEventHandler

Gilt für:

Weitere Informationen