ICommandExtension 인터페이스
모델링 다이어그램의 메뉴 명령을 제공하는 MEF 확장에서 이 명령을 구현하고 내보냅니다.
네임스페이스: Microsoft.VisualStudio.Modeling.ExtensionEnablement
어셈블리: Microsoft.VisualStudio.Modeling.Sdk.12.0(Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
구문
‘선언
Public Interface ICommandExtension
public interface ICommandExtension
ICommandExtension 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
Text | 이 메뉴의 명령을 식별하는 표시 레이블입니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
Execute | 사용자가 이 메뉴 명령을 클릭할 때 호출됩니다. | |
QueryStatus | 명령을 표시하고 활성화할지 여부를 정의하려면 이 메서드를 구현합니다.command.Visible 및 command.Enabled를 설정합니다.모델의 상태를 변경하지 마십시오. |
위쪽
설명
UML 다이어그램의 메뉴 명령 정의 구현할 수 있습니다에서이 인터페이스는 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;}
자세한 내용은 방법: 모델링 다이어그램의 메뉴 명령 정의을 참조하십시오.