Freigeben über


ICommandExtension-Schnittstelle

Implementieren Sie diese Schnittstelle und exportieren aus einer MEF-Erweiterung, um einen Menübefehl für die Modellierung von Diagrammen bereitzustellen.

Namespace:  Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Syntax

'Declaration
Public Interface ICommandExtension
public interface ICommandExtension

Der ICommandExtension-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Text Die sichtbare Bezeichnung, die diesen Befehl im Menü identifiziert.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Execute Wird aufgerufen, wenn der Benutzer auf den Befehl im Menü.
Öffentliche Methode QueryStatus Implementieren Sie dies, um zu definieren, ob der Befehl sichtbar sein soll und aktiviert hat.Festgelegter Befehl. Sichtbar und Command. Aktiviert.Ändern Sie keinesfalls den Zustand des Modells.

Zum Seitenanfang

Hinweise

Um einen Menübefehl für ein UML-Diagramm definieren, können Sie diese Schnittstelle in einer Visual Studio Erweiterung implementieren.Im extension.manifest muss die Assembly als MEF-Komponente identifiziert werden.Sie müssen die Klasse mit einem Präfix Attribut exportieren:

[Export(typeof(ICommandExtension))]

Sie sollten ein Attribut für jeden Typ von Diagramm bereitstellen, auf dem Sie den gewünschten Befehl angezeigt:

[ClassDesignerExtension]

Definieren Sie den Befehl als öffentliche Klasse:

public class NameSwapper : ICommandExtension {

Innerhalb der Klasse sollten Sie IDiagramContextimportieren, um zu ermöglichen, dass Sie das aktuelle Diagramm, die ausgewählten Formen, die Modellelemente und den Modellspeicher zuzugreifen:

[Import] public IDiagramContext Context { get; set; }

Sie können auch IServiceProviderimportiert, um Zugriff auf Visual Studio Komponenten wie der Projektmappen-Explorer:

[Import] public IServicerProvider ServiceProvider { get; set; }

Wenn der Befehl mehrere Änderungen am Modell vornimmt, sollten Sie sie in einer einzigen Transaktion in Gruppen zusammenfassen, damit Sie die gesamte Gruppe abbrechen können, falls ein Fehler auftritt, und damit die Benutzer die Gruppe Alle mit einem einzigen Befehl Rückgängig rückgängig machen kann.ILinkedUndoContext ermöglicht es Ihnen, eine Transaktion zu erstellen:

[Import] public ILinkedUndoContext LinkedUndoContext {get; set;}

Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Menübefehls in einem Modellierungsdiagramm.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.ExtensionEnablement-Namespace