Interfejs ICommandExtension
Wdrożenie i wywóz ten interfejs z rozszerzeniem MEF przewidzieć diagramy modelowania polecenia menu.
Przestrzeń nazw: Microsoft.VisualStudio.Modeling.ExtensionEnablement
Zestaw: Microsoft.VisualStudio.Modeling.Sdk.12.0 (w Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Składnia
'Deklaracja
Public Interface ICommandExtension
public interface ICommandExtension
Typ ICommandExtension uwidacznia następujące elementy członkowskie.
Właściwości
Nazwa | Opis | |
---|---|---|
Text | Widoczna etykieta identyfikująca tego polecenia w menu. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Execute | Wywoływana, gdy użytkownik kliknie polecenie w menu. | |
QueryStatus | Wdrożenie, aby określić, czy polecenie powinny być widoczne i włączone.Polecenie Ustawienia.Widoczny i polecenia.Włączone.Nie należy zmieniać stan modelu. |
Początek
Uwagi
Aby określić polecenia menu dla diagramu UML, można zaimplementować tego interfejsu w Visual Studio rozszerzenia.W extension.manifest na zgromadzenie muszą być identyfikowane jako składnik MEF.Należy poprzedzać prefiksem w klasie z atrybutem eksportu:
[Export(typeof(ICommandExtension))]
Dla każdego typu diagramu, na którym ma się pojawiać dane polecenie, należy również wprowadzić atrybutu:
[ClassDesignerExtension]
Polecenie należy zdefiniować jako public class:
public class NameSwapper : ICommandExtension {
Wewnątrz klasy, należy zaimportować IDiagramContext, aby umożliwić dostęp do bieżącego diagramu, zaznaczone kształty, elementy modelu i modelu magazynu:
[Import] public IDiagramContext Context { get; set; }
Można także importować IServiceProvider, w celu uzyskania dostępu do Visual Studio składników, takich jak Solution Explorer:
[Import] public IServicerProvider ServiceProvider { get; set; }
Jeśli polecenie zostanie wprowadzić wiele zmian do modelu, warto je pogrupować w pojedynczą transakcję, tak, aby porzucić całej grupy, aby po awarii jednego i, dzięki czemu użytkownik może cofnąć całej grupy przy użyciu polecenia Cofnij pojedynczy.ILinkedUndoContextUmożliwia tworzenie transakcji:
[Import] public ILinkedUndoContext LinkedUndoContext {get; set;}
Aby uzyskać więcej informacji, zobacz Porady: definiowanie polecenia menu na diagramie modelowania.
Zobacz też
Informacje
Przestrzeń nazw Microsoft.VisualStudio.Modeling.ExtensionEnablement