ICommandExtension - интерфейс
Реализуйте этот интерфейс и экспортировать из расширения MEF, чтобы обеспечить команду меню для моделирования схемы.
Пространство имен: Microsoft.VisualStudio.Modeling.ExtensionEnablement
Сборка: Microsoft.VisualStudio.Modeling.Sdk.11.0 (в Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)
Синтаксис
'Декларация
Public Interface ICommandExtension
public interface ICommandExtension
Тип ICommandExtension предоставляет следующие члены.
Свойства
Имя | Описание | |
---|---|---|
Text | Метка, отображаемая определяет эту команду в меню. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
Execute | Вызывается, когда пользователь нажимает эту команду меню. | |
QueryStatus | Реализуйте это, чтобы указать, должна ли команда быть видна, а.Задайте команду. Visible и команд. включено.Не изменяйте состояние модели. |
В начало страницы
Заметки
Для указания команды меню для uml-схем, можно реализовать этот интерфейс в a Visual Studio расширение.В extension.manifest, сборку должен быть определен как компонент MEF.Вы префикс класс с атрибутом экспорта.
[Export(typeof(ICommandExtension))]
Также необходимо указать атрибут для каждого типа схемы, на котором будет отображаться команду:
[ClassDesignerExtension]
Определите команду как открытый класс:
public class NameSwapper : ICommandExtension {
Внутри класса необходимо импортировать IDiagramContext, позволяя доступ к текущей схеме, выбранные фигуры, элементы модели, и хранилище модели:
[Import] public IDiagramContext Context { get; set; }
Можно также импортировать IServiceProviderдоступ к Visual Studio компоненты как обозревателе решений.
[Import] public IServicerProvider ServiceProvider { get; set; }
Если ваша команда выполняет ряд изменений в модели, может понадобиться сгруппировать их вместе в одной транзакции, так что можно прервать группу целого если он завершается ошибкой, чтобы пользователь мог отменить группы целиком с помощью одной команды отката.ILinkedUndoContext позволяет создать транзакцию.
[Import] public ILinkedUndoContext LinkedUndoContext {get; set;}
Дополнительные сведения см. в разделе Практическое руководство. Определение команды меню на схеме моделирования.
См. также
Ссылки
Microsoft.VisualStudio.Modeling.ExtensionEnablement - пространство имен