ICommand Schnittstelle

Definition

Definiert einen Befehl.

public interface class ICommand
public interface ICommand
[System.ComponentModel.TypeConverter("System.Windows.Input.CommandConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public interface ICommand
[System.ComponentModel.TypeConverter("System.Windows.Input.CommandConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public interface ICommand
type ICommand = interface
[<System.ComponentModel.TypeConverter("System.Windows.Input.CommandConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type ICommand = interface
[<System.ComponentModel.TypeConverter("System.Windows.Input.CommandConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type ICommand = interface
Public Interface ICommand
Abgeleitet
Attribute

Hinweise

RoutedCommand und RoutedUICommand sind zwei Implementierungen der ICommand Schnittstelle in Windows Presentation Foundation (WPF).

ICommand in Windows-Runtime-Apps

Die ICommand Schnittstelle ist der Codevertrag für Befehle, die in .NET für Windows-Runtime-Apps geschrieben wurden. Diese Befehle stellen das Befehlsverhalten für UI-Elemente wie windows-Runtime-XAML Button und insbesondere ein AppBarButton. Wenn Sie Befehle für Windows-Runtime-Apps definieren, verwenden Sie im Grunde die gleichen Techniken, die Sie zum Definieren von Befehlen für eine .NET-App verwenden würden. Implementieren Sie den Befehl, indem Sie eine Klasse definieren, die die Execute Methode implementiert ICommand und speziell implementiert.

XAML für Windows-Runtime unterstützt x:Staticnicht. Versuchen Sie daher nicht, die x:Static Markuperweiterung zu verwenden, wenn der Befehl aus Windows-Runtime-XAML verwendet wird. Außerdem verfügt die Windows-Runtime über keine vordefinierten Befehlsbibliotheken. Daher gilt die hier gezeigte XAML-Syntax nicht wirklich für den Fall, in dem Sie die Schnittstelle implementieren und den Befehl für die Verwendung von Windows-Runtime definieren.

XAML-Attributverwendung

<object-property="predefined-command-name"/>
-or-
<object-property="predefined-class-name.predefined-command-name"/>
-or-
<object-property="{custom-class-name.custom-command-name}"/>

XAML-Werte

predefined-class-name
Eine der vordefinierten Befehlsklassen.

predefined-command-name
Einer der vordefinierten Befehle.

custom-class-name
Eine benutzerdefinierte Klasse, die den benutzerdefinierten Befehl enthält. Benutzerdefinierte Klassen erfordern in der Regel eine xlmns Präfixzuordnung. Weitere Informationen finden Sie unter XAML-Namespaces und Namespacezuordnung für WPF-XAML.

custom-command-name
Ein benutzerdefinierter Befehl.

Methoden

Name Beschreibung
CanExecute(Object)

Bestimmt, ob der Befehl im aktuellen Zustand ausgeführt werden kann.

Execute(Object)

Definiert die Methode, die aufgerufen werden soll, wenn der Befehl aufgerufen wird.

Ereignisse

Name Beschreibung
CanExecuteChanged

Tritt auf, wenn Änderungen vorgenommen werden, die sich darauf auswirken, ob der Befehl ausgeführt werden soll.

Gilt für: