Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

CanExecuteRoutedEventArgs-Klasse

Aktualisiert: November 2007

Stellt Daten für das CanExecute- und das PreviewCanExecute-Routingereignis bereit.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

public sealed class CanExecuteRoutedEventArgs : RoutedEventArgs
public final class CanExecuteRoutedEventArgs extends RoutedEventArgs
public final class CanExecuteRoutedEventArgs extends RoutedEventArgs
Sie können eine Instanz dieser Klasse nicht direkt in XAML erstellen.

In der Regel ruft eine Befehlsquelle, z. B. ein MenuItem, die CanExecute-Methode für einen RoutedCommand auf, um zu bestimmen, ob der Befehl für das aktuelle Befehlsziel ausgeführt werden kann. Wenn CanExecute von einem Ereignishandler auf false festgelegt wird, deaktiviert die Befehlsquelle sich selbst. Wenn beispielsweise ein MenuItem als Befehlsquelle für einen Befehl dient und dieser Befehl für das aktuelle Befehlsziel nicht ausgeführt werden kann, dann unterlegt sich das MenuItem selbsttätig grau.

Das CanExecuteChanged-Ereignis benachrichtigt eine Befehlsquelle, wenn sich die Möglichkeit zur Ausführung eines Befehls ändert.

Im folgenden Beispiel wird ein CanExecuteRoutedEventHandler erstellt, der nur dann true zurückgibt, wenn das Befehlsziel ein Steuerelement ist. Zunächst wird Source in ein Control umgewandelt. Wenn Source ein Control ist, wird CanExecute auf true festgelegt. Andernfalls wird es auf false festgelegt.

// CanExecuteRoutedEventHandler that only returns true if
// the source is a control.
private void CanExecuteCustomCommand(object sender, 
    CanExecuteRoutedEventArgs e)
{
    Control target = e.Source as Control;

    if(target != null)
    {
        e.CanExecute = true;
    }
    else
    {
        e.CanExecute = false;
    }
}


System.Object
  System.EventArgs
    System.Windows.RoutedEventArgs
      System.Windows.Input.CanExecuteRoutedEventArgs

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0
Anzeigen: