ICommandExtension, interface
Implémentez et exportez cette interface d'une extension MEF pour fournir une commande de menu aux diagrammes de modélisation.
Espace de noms : Microsoft.VisualStudio.Modeling.ExtensionEnablement
Assembly : Microsoft.VisualStudio.Modeling.Sdk.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Syntaxe
'Déclaration
Public Interface ICommandExtension
public interface ICommandExtension
Le type ICommandExtension expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
Text | Étiquette visible qui identifie cette commande dans le menu. |
Début
Méthodes
Nom | Description | |
---|---|---|
Execute | Appelée lorsque l'utilisateur clique sur cette commande dans le menu. | |
QueryStatus | Implémentez ceci pour définir si votre commande doit être visible et active.Définit command.Visible et command.Enabled.Ne modifie pas l'état du modèle. |
Début
Notes
Pour définir une commande de menu pour un modèle d'UML, vous pouvez implémenter cette interface dans une extension d'Visual Studio. Dans l'extension.manifest, l'assembly doit être identifié en tant que composant de peut expéditionnaire des Marines. Vous devez préfixer la classe avec un attribut importation :
[Export(typeof(ICommandExtension))]
Vous devez également fournir un attribut pour chaque type de schéma sur lequel vous souhaitez la commande d'apparaître :
[ClassDesignerExtension]
Définissez la commande en tant que classe publique :
public class NameSwapper : ICommandExtension {
À l'intérieur de votre classe, vous devez importer IDiagramContext, pour vous permettre d'accéder au schéma actuel, en forme sélectionnées, des éléments de modèle, et le magasin de modèles :
[Import] public IDiagramContext Context { get; set; }
Vous pouvez également importer IServiceProvider, pour obtenir l'accès aux composants d'Visual Studio tels que l'explorateur de solutions :
[Import] public IServicerProvider ServiceProvider { get; set; }
Si votre commande apporte plusieurs modifications au modèle, vous pouvez les regrouper dans une transaction, afin que vous puissiez abandonne le groupe entière cas de échec, de façon à pouvoir annuler le groupe entière avec une seule commande de restauration. ILinkedUndoContext vous permet de créer une transaction :
[Import] public ILinkedUndoContext LinkedUndoContext {get; set;}
Pour plus d'informations, consultez Comment : définir une commande de menu sur un diagramme de modélisation.
Voir aussi
Référence
Microsoft.VisualStudio.Modeling.ExtensionEnablement, espace de noms