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 | |
---|---|---|
Text | Die sichtbare Bezeichnung, die diesen Befehl im Menü identifiziert. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Execute | Wird aufgerufen, wenn der Benutzer auf den Befehl im Menü. | |
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