다음을 통해 공유


ImageField 클래스

이미지 decorators 배경을 표시할 수 있습니다 셰이프 부분을 나타내는 간단한 개체입니다.

상속 계층 구조

System.Object
  Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
    Microsoft.VisualStudio.Modeling.Diagrams.ImageField

네임스페이스:  Microsoft.VisualStudio.Modeling.Diagrams
어셈블리:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0(Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

구문

‘선언
Public Class ImageField _
    Inherits ShapeField
public class ImageField : ShapeField

ImageField 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Public 메서드 ImageField(String) 이미지 필드 클래스의 새 인스턴스를 초기화합니다.
Public 메서드 ImageField(String, Image) 이미지 필드 클래스의 새 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Public 속성 AnchoringBehavior 필드의 내용은 해야 및 위치 ShapeElement 부모를 기준으로 크기를 조정할지 설명 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultAccessibleDescription 기본 액세스 가능한 설명을 가져오거나 설정 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultAccessibleName 액세스 가능 개체에 대 한 셰이프 필드의 기본 이름을 가져오거나 설정 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultAccessibleState 액세스 가능 개체에 대 한 셰이프 필드의 기본 상태를 가져옵니다. (ShapeField에서 상속됨)
Public 속성 DefaultBackgroundBrushId Shape 필드의 배경을 그리는 데 기본 브러시의 ID를 가져오거나 설정 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultFocusable Shape 필드를 가져오고 포커스를 받을 수 있습니다 또는 shape 필드가 포커스를 받을 수 있는 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultImage 이 이미지 필드와 연관 된 기본 이미지를 가져오거나 설정 합니다.GetDisplayImage 메서드를 재정의 하 여 기본 이미지를 사용자 지정할 수 있습니다.
Public 속성 DefaultInactiveSelectedBackgroundBrushId 기본 배경 브러시에 대 한 셰이프 필드의 ID를 가져오거나 설정 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultPenId 도형 필드를 사용 하 여 기본 펜의 ID를 가져오거나 설정 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultReflectParentFocusedState 필드 셰이프 자식과 부모 모양이 포커스가 이동 또는 해당 부모 셰이프의 포커스 상태를 반영 하는 기능을 설정 하면 포커스를 받을 합니다 여부를 확인을 가져옵니다. (ShapeField에서 상속됨)
Public 속성 DefaultReflectParentSelectedState 가져옵니다 자식 도형 필드 및 해당 부모 셰이프를 선택 하지 않았거나 해당 부모 모양의 선택 상태를 반영 하는 기능을 설정 하면 해당 선택 해야 하는지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultSelectable Shape 필드 및 기본적으로 선택할 수 있는지 여부를 확인을 가져오거나 shape 필드의 기본 선택 상태를 설정 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultSelectedBackgroundBrushId 기본 배경 브러시에 대 한 셰이프 필드의 ID를 가져오거나 설정 합니다. (ShapeField에서 상속됨)
Public 속성 DefaultUnscaled 이미지 배율이 지정 되지 않은이 필드의 범위에 대해서 그리 나 이미지의 경계에 맞게 조정할지 여부를 나타내는 값을 가져오거나 설정 합니다.
Public 속성 DefaultVisibility Shape 필드를 가져오고 기본적으로 표시 되 나 shape 필드의 기본 표시 여부 설정 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 속성 Name Shape 필드의 이름을 가져옵니다. (ShapeField에서 상속됨)

위쪽

메서드

  이름 설명
Public 메서드 AccessibleDoDefaultAction 액세스 가능 개체에 대 한 기본 작업을 수행합니다. (ShapeField에서 상속됨)
Public 메서드 AllowInPlaceEditorAutoSize 현재 위치에서 편집기를 셰이프 필드에 자동으로 크기를 조정할 수 있습니다. (ShapeField에서 상속됨)
Public 메서드 AssociateValueWith(Store, AssociatedPropertyInfo) Shape 필드는 도형 요소에 할당 된 도메인 속성을 연결 합니다. (ShapeField에서 상속됨)
Public 메서드 AssociateValueWith(Store, Guid) Shape 필드는 도형 요소에 할당 된 도메인 속성을 연결 합니다. (ShapeField에서 상속됨)
Public 메서드 AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Shape 필드는 도형 요소에 할당 된 도메인 속성을 연결 합니다. (ShapeField에서 상속됨)
Public 메서드 AssociateVisibilityWith(Store, AssociatedPropertyInfo) Shape 필드의 표시 여부를 도형 요소에 할당 된 도메인 속성을 연결 합니다. (ShapeField에서 상속됨)
Public 메서드 AssociateVisibilityWith(Store, Guid) Shape 필드의 표시 여부를 도형 요소에 할당 된 도메인 속성을 연결 합니다. (ShapeField에서 상속됨)
Public 메서드 AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Shape 필드의 표시 여부를 도형 요소에 할당 된 도메인 속성을 연결 합니다. (ShapeField에서 상속됨)
Public 메서드 CanEditValue Shape 필드를 가져오고 편집할 수 있는지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 CommitPendingEdit 보류 중인 편집을 커밋합니다. (ShapeField에서 상속됨)
Public 메서드 DoHitTest 지정 된 지점 지점 shape 필드의 범위 내에 있는지 여부를 확인 하려면 다이어그램에 적중된 테스트를 수행 합니다. (ShapeField에서 상속됨)
Public 메서드 DoKeyboardNavigation Shape 필드에서 키보드를 사용 하 여 탐색 합니다. (ShapeField에서 상속됨)
Public 메서드 DoPaint Shapefield의 내용을 그립니다. (ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)을(를) 재정의함)
Public 메서드 EditValue(ShapeElement, DiagramClientView) Shape 필드에 대 한 위치에서 편집기를 엽니다. (ShapeField에서 상속됨)
Public 메서드 EditValue(ShapeElement, DiagramClientView, PointD) Shape 필드에 대 한 위치에서 편집기를 엽니다. (ShapeField에서 상속됨)
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 FindFirstChild 부모 shape 필드를의 첫 번째 자식 셰이프 필드를 찾습니다. (ShapeField에서 상속됨)
Public 메서드 FindLastChild 마지막 자식 셰이프 필드를 부모 shape 필드를를 찾습니다. (ShapeField에서 상속됨)
Public 메서드 FindNextChild 다음 자식 셰이프 필드를 부모 shape 필드를를 찾습니다. (ShapeField에서 상속됨)
Public 메서드 FindNextInChildSubFields 탐색 순서에서 다음 하위 셰이프 필드를 찾습니다. (ShapeField에서 상속됨)
Public 메서드 FindPreviousChild 이전 하위 셰이프 필드를 부모 shape 필드를를 찾습니다. (ShapeField에서 상속됨)
Public 메서드 FindPreviousInChildSubFields 탐색 순서에서 이전 자식 셰이프 필드를 찾습니다. (ShapeField에서 상속됨)
Public 메서드 Focused Shape 필드를 가져오고 포커스를가지고 있는지 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibilityObject Shape 필드에 할당 된 내게 필요한 옵션 지원 개체를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleChild 자식 셰이프 필드에 대 한 액세스 가능 개체를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleChildCount 부모 shape 필드 및 해당 자식 셰이프 필드에 할당 된 액세스 가능 개체의 수를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleDefaultActionDescription Shape 필드의 기본 용도를 대 한 액세스 가능 개체를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleDescription 이미지 필드에 대 한 기본 액세스 가능한 설명을 반환합니다. (ShapeField.GetAccessibleDescription(ShapeElement)을(를) 재정의함)
Public 메서드 GetAccessibleHelp Shape 필드를 도움말에 액세스할 수 있는 개체를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleHelpTopicFileName 항목을 도움말에 액세스할 수 있는 개체를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleHelpTopicId 액세스 가능 개체에 대 한 도움말 항목에 할당 된 ID를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleName 이미지 필드에 대 한 기본 액세스 가능한 이름을 반환합니다. (ShapeField.GetAccessibleName(ShapeElement)을(를) 재정의함)
Public 메서드 GetAccessibleRole 이 Shapefield의 액세스 가능한 역할을 검색합니다. (ShapeField.GetAccessibleRole(ShapeElement)을(를) 재정의함)
Public 메서드 GetAccessibleState Shape 필드의 상태를 대 한 액세스 가능 개체를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetAccessibleValue 값을 셰이프 필드에 액세스할 수 있는 개체를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetActiveInPlaceEditor 현재 위치에서 편집기를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetBackgroundBrush 이 도형 필드에 할당 된 도형 요소에 대 한 배경을 그리는 브러시를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetBackgroundBrushId ID이 도형 필드에 할당 된 도형 요소에 대 한 배경을 그리는 브러시를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetBounds 범위를 대 한 셰이프 필드를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetCursor Shape 필드를 마우스로 가리킬 때 나타나는 포인터를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetDisplayImage 이 필드를 기준으로 표시 될 이미지를 가져옵니다.
Public 메서드 GetFocusable Shape 필드를 가져오고 포커스를 받을 수 있는지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetInPlaceEditorBounds 현재 위치에서 편집기에 대 한 범위를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetMaximumInPlaceEditorSize 현재 위치에서 편집기에 대 한 최대 범위를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetMinimumInPlaceEditorSize 현재 위치에서 편집기에 대 한 최소 범위를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetMinimumSize 최소 크기는 이미지 필드를 반환합니다. (ShapeField.GetMinimumSize(ShapeElement)을(를) 재정의함)
Public 메서드 GetPen Shape 필드에 할당 된 도형 요소를 그리는 펜을 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetPenId Shape 필드에 할당 된 도형 요소를 그리는 펜의 ID를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetPotentialMouseAction 활성화할 사용자를 다음 다이어그램의 특정 지점을 클릭 하면 마우스 동작을 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetSelectable Shape 필드를 가져오고 선택할 수 있는지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드 GetUnscaled 이미지 배율이 지정 되지 않은 또는 없습니다 그려야 하는지 여부를 가져옵니다.
Public 메서드 GetValue Shape 필드의 값을 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetValueDomainPropertyInfo 도형 필드의 값에에서 지정 된 도메인 속성을 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 GetVisible Shape 필드를 가져오고 표시 되는지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 HasFocusedAppearance Shape 필드를 가져오고 포커스를 표시 해야 하는지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 HasPendingEdit 셰이프 필드를 가져오고 해당 위치에서 편집기를 실행할 변경 보류 중인 지 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 HasSelectedAppearance Shape 필드를 가져오고 선택 상태 인지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 IsNavigationKey(Char) 사용자가 처리 하 고 그 이동 합니다 셰이프 필드 간에 사용할 수 있는지 여부를 확인 하는 키를 가져옵니다. (ShapeField에서 상속됨)
Public 메서드 IsNavigationKey(Keys) 누르고 이동할 수 사이 필드 사용 여부를 확인 하는 키를 가져옵니다. (ShapeField에서 상속됨)
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드 NavigateAscend 선택한 도형에 대 한 탐색 순서에서 이전 셰이프 필드에 포커스를 이동 합니다. (ShapeField에서 상속됨)
Public 메서드 NavigateDescend 선택한 도형에 대 한 탐색 순서에서 다음 셰이프 필드에서 포커스를 이동합니다. (ShapeField에서 상속됨)
Public 메서드 NavigateToFirst 탐색 순서 선택한 셰이프에 대 한 셰이프 필드 1에 포커스를 이동합니다. (ShapeField에서 상속됨)
Public 메서드 NavigateToLast 선택한 도형에 대 한 탐색 시퀀스 마지막 도형 필드에 포커스가 이동합니다. (ShapeField에서 상속됨)
Public 메서드 NavigateToNext 선택한 도형에 대 한 탐색 순서에서 다음 셰이프 필드에서 포커스를 이동합니다. (ShapeField에서 상속됨)
Public 메서드 NavigateToPrevious 선택한 도형에 대 한 탐색 순서에서 이전 셰이프 필드에 포커스를 이동 합니다. (ShapeField에서 상속됨)
Protected 메서드 OnBeginEdit 수신기 내부 편집을 시작한 때 경고를 합니다. (ShapeField에서 상속됨)
Public 메서드 OnClick Shape 필드는 사용자가 클릭 하면 수신기를 알려 줍니다. (ShapeField에서 상속됨)
Public 메서드 OnDoubleClick 수신기를 사용자 셰이프 필드 두 번 클릭 하면 경고를 보냅니다. (ShapeField에서 상속됨)
Protected 메서드 OnEndEdit 수신기를 내부 편집이 완료 되 면 경고를 보냅니다. (ShapeField에서 상속됨)
Public 메서드 OnKeyDown 수신기 shape 필드를 가리키는 경우 사용자가 키를 보유 한 때 경고를 합니다. (ShapeField에서 상속됨)
Public 메서드 OnKeyPress 수신기 shape 필드를 가리키는 경우 사용자가 키를 누를 했습니다 때 경고를 합니다. (ShapeField에서 상속됨)
Public 메서드 OnKeyUp 수신기 shape 필드를 가리키는 경우 사용자가 키를 출시 했습니다 때 경고를 합니다. (ShapeField에서 상속됨)
Public 메서드 OnMouseDown 수신기를 사용자 셰이프 필드 위에 마우스를 보유 하 고 있는 경우 경고를 보냅니다. (ShapeField에서 상속됨)
Public 메서드 OnMouseMove 수신기를 마우스 모양 필드 위로 이동 하면 경고를 보냅니다. (ShapeField에서 상속됨)
Public 메서드 OnMouseUp 수신기 사용자 셰이프 필드 위로 마우스 단추를 릴리스 했습니다 때 경고를 합니다. (ShapeField에서 상속됨)
Public 메서드 OnMouseWheel 수신기를 셰이프 필드 위로 마우스 회전 된 경우 경고를 보냅니다. (ShapeField에서 상속됨)
Public 메서드 Selected Shape 필드를 가져오고 선택 되어 있는지 여부를 확인 합니다. (ShapeField에서 상속됨)
Public 메서드 SetSelectionRange 선택 영역의 자식 셰이프 필드 범위를 설정합니다. (ShapeField에서 상속됨)
Public 메서드 SetValue Shape 필드에 지정한 값을 할당 합니다. (ShapeField에서 상속됨)
Public 메서드 SetVisible Shape 필드의 표시 여부를 설정합니다. (ShapeField에서 상속됨)
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

설명

도형에 이미지 데코레이터를 정의 하는 경우와 이미지 모양을 정의 하는 경우는 이미지 필드에서 셰이프에 표시 되는 영역 관리 합니다.초기화 하는 ImageFields 및 ShapeFields 다른 예제를 보려면 Dsl\GeneratedCode\Shapes.cs DSL 솔루션을 검사 합니다.

이미지 필드에는 데코레이터를 할당 하는 공간으로, 도형 내에서 영역을 관리 하는 개체입니다.이미지 필드 인스턴스가 여러 셰이프에 동일한 셰이프 클래스의 사이 공유 됩니다.각 도형에 대 한 별도 이미지가 이미지 필드 인스턴스를 저장 하지 않습니다: 대신에 GetDisplayImage(ShapeElement) 메서드 셰이프를 매개 변수로 사용 하 고 종속 셰이프와 모델 요소를 현재 상태에 이미지를 찾을 수도 있습니다.

변수는 이미지와 같은 특별 한 동작 이미지 필드에서 파생 된 사용자 지정 클래스를 만들 수 있습니다.

이미지 필드의 하위 클래스를 만들려면

  1. 설정의 생성 이중 파생 DSL 정의에서 부모 shape 클래스의 속성입니다.

  2. 재정의 InitializeShapeFields 메서드는 shape 클래스의.

    • DSL 프로젝트의 새 코드 파일을 만든 및 shape 클래스에 대 한 partial 클래스 정의 작성 합니다.메서드 정의 무시 됩니다.
  3. 코드를 검사 InitializeShapeFields dsl\generatedcode\shapes.cs에 있습니다.

    재정의 메서드, 기본 메서드를 호출 하 고 이미지 필드 클래스의 인스턴스를 만듭니다.이 정보를 사용 하 여 일반 이미지 필드를 대체 하는 shapeFields 목록입니다.

예제

이 예제 변경 아이콘 상태 셰이프의 모델 요소의 종속 합니다.

주의 정보주의

이 예제에서는 동적 이미지 데코레이터를 확인 하는 방법을 보여 줍니다.하지만 모델 변수를 상태에 따라 하나 또는 두 이미지 사이 전환 하려면 간단 하 게 만드는 몇 가지 이미지 decorators, 동일한 위치에 셰이프를 찾을 다음 특정 모델 변수 값에 따라 달라 집니다 표시 필터를 설정 하는.이 필터를 설정 하려면 도형 맵 DSL 정의에 DSL 세부 정보 창을 열어 선택한 Decorators 탭을 클릭 합니다.

이 예제 코드를 실행 하려면 최소한의 언어 템플릿을 사용 하 여 새 DSL 솔루션을 만듭니다.부울 도메인 속성 추가 AlternateState ExampleElement 도메인 클래스에 있습니다.아이콘 데코레이터 ExampleShape 클래스에 추가 하 고 해당 이미지를 비트맵 파일로 설정 합니다.클릭 서식 파일을 모두 변환.DSL 프로젝트의 새 코드 파일을 추가 하 고 다음 코드를 삽입 합니다.

코드를 테스트 하려면 F5 키를 눌러 및 디버깅 솔루션에는 샘플 다이어그램을 엽니다.기본 상태 아이콘에 나타납니다.셰이프를 선택 하 고 속성 창에서 값을 변경는 AlternateState 속성입니다.아이콘을 통해 도형에 90도 회전 된 나타납니다.

using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Diagrams;
...
partial class ExampleShape
{
    /// <summary>
    /// Compose a list of the fields in this shape.
    /// Called once for each shape class.
    /// </summary>
    /// <param name="shapeFields"></param>
    protected override void InitializeShapeFields(IList<ShapeField> shapeFields)
    {
      // Fields set up according to DSL Definition:
      base.InitializeShapeFields(shapeFields);

      // Replace the image field:
      ShapeField oldField = ShapeElement.FindShapeField(shapeFields, "IconDecorator");
      shapeFields.Remove(oldField);
      // Must keep the same name:
      MyImageField newField = new MyImageField(oldField.Name);
      shapeFields.Add(newField);
      newField.DefaultImage = (oldField as ImageField).DefaultImage.Clone() as System.Drawing.Image;
    }
  }


  public class MyImageField : ImageField
  {
    public MyImageField(string tag) : base(tag) { }

    /// <summary>
    /// Get the image for this field in the given shape.
    /// </summary>
    public override System.Drawing.Image GetDisplayImage(ShapeElement parentShape)
    {
      ExampleElement element = parentShape.ModelElement as ExampleElement;
      if (element.AlternateState == true)
        return AlternateImage;
      else
        return base.GetDisplayImage(parentShape);
    }

    private System.Drawing.Image alternateImage;
    public System.Drawing.Image AlternateImage
    {
      get
      {
        if (alternateImage == null)
        {
          // Alternate image is a copy of the default, rotated by 90 degrees:
          alternateImage = this.DefaultImage.Clone() as System.Drawing.Image;
          alternateImage.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipNone);
        }
        return alternateImage;
      }
    }
  }
}

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.Modeling.Diagrams 네임스페이스

TextField

ShapeField

InitializeShapeFields