Interfaccia ICommandExtension
Implementare ed esportare questa interfaccia da un'estensione MEF per fornire un comando di menu per i diagrammi di modellazione.
Spazio dei nomi: Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly: Microsoft.VisualStudio.Modeling.Sdk.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Sintassi
'Dichiarazione
Public Interface ICommandExtension
public interface ICommandExtension
Il tipo ICommandExtension espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
![]() |
Text | L'etichetta visibile che identifica questo comando nel menu. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
Execute | Richiamato quando l'utente sceglie questo comando dal menu. |
![]() |
QueryStatus | Implementare questo per stabilire se il comando deve essere visibile e abilitato.Comando di. visibile e comando. attivato.Non modificare lo stato del modello. |
In alto
Note
Per definire un comando di menu per un diagramma UML, è possibile implementare questa interfaccia in un oggetto Visual Studio estensione.In extension.manifest, l'assembly deve essere identificato come componente MEF.È necessario aggiungere la classe con un attributo di esportazione:
[Export(typeof(ICommandExtension))]
È inoltre necessario fornire un attributo per ogni tipo di diagramma in cui il comando venga visualizzato:
[ClassDesignerExtension]
definire il comando come classe pubblica:
public class NameSwapper : ICommandExtension {
Nella classe, è necessario importare IDiagramContext, per consentire la selezione per accedere al diagramma corrente, alle forme selezionate, elementi del modello e all'archivio modelli:
[Import] public IDiagramContext Context { get; set; }
È anche possibile incorporare IServiceProvider, per ottenere accesso a Visual Studio componenti quali Esplora soluzioni:
[Import] public IServicerProvider ServiceProvider { get; set; }
Se il comando eseguirà diverse modifiche al modello, potrebbe essere necessario raggrupparli insieme in un'unica transazione, in modo che sia possibile annullare il gruppo di tutto si ne ha esito negativo e in modo da poter annullare l'utente l'intero gruppo con un unico comando di annullamento.ILinkedUndoContext consente di creare una transazione:
[Import] public ILinkedUndoContext LinkedUndoContext {get; set;}
Per ulteriori informazioni, vedere Procedura: definire un comando di menu in un diagramma di modellazione.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.VisualStudio.Modeling.ExtensionEnablement