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 | コマンドを表示する必要がある実行し、有効になっているかどうかを定義するために行います。設定のコマンド。表示され、コマンド。有効になります。モデルの状態を変更しないでください。 |
このページのトップへ
解説
UML 図のメニュー コマンドを定義するには、Visual Studio の拡張機能でこのインターフェイスを実装できます。extension.manifest では、アセンブリは MEF コンポーネントとして識別する必要があります。エクスポート属性とクラスの前に付ける必要があります :
[Export(typeof(ICommandExtension))]
または、コマンドが表示される場合は、それぞれの図の種類の属性を指定する必要があります :
[ClassDesignerExtension]
パブリック クラスとコマンドを定義します :
public class NameSwapper : ICommandExtension {
クラス内で、選択した図形の、モデル要素とモデル ストアにアクセスできるように IDiagramContext を、現在の図は、インポートする必要があります :
[Import] public IDiagramContext Context { get; set; }
また、ソリューション エクスプローラーなど Visual Studio のコンポーネントにアクセスするに IServiceProvider をインポートする場合 :
[Import] public IServicerProvider ServiceProvider { get; set; }
コマンドがモデルにいくつかの変更を行うと、1 が失敗した場合、ユーザーが単一の元に戻すコマンドでグループ全体を元に戻すことができるように、グループ全体を破棄できるように単一のトランザクションにグループ化することがあります。ILinkedUndoContext は、トランザクションを作成することができます :
[Import] public ILinkedUndoContext LinkedUndoContext {get; set;}
詳細については、「方法: モデリング図にメニュー コマンドを定義する」を参照してください。
.gif)
.gif)