CommandBinding.CanExecute Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
- Das entsprechende Tunneling-Ereignis ist PreviewCanExecute.