ImageField 클래스
이미지 데코레이터 또는 배경을 표시할 수 있는 모양의 일부를 나타내는 Lightweight 개체입니다.
상속 계층 구조
System.Object
Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
Microsoft.VisualStudio.Modeling.Diagrams.ImageField
네임스페이스: Microsoft.VisualStudio.Modeling.Diagrams
어셈블리: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0(Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)
구문
‘선언
Public Class ImageField _
Inherits ShapeField
public class ImageField : ShapeField
ImageField 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
![]() |
ImageField(String) | ImageField 클래스의 새 인스턴스를 초기화합니다. |
![]() |
ImageField(String, Image) | ImageField 클래스의 새 인스턴스를 초기화합니다. |
위쪽
속성
이름 | 설명 | |
---|---|---|
![]() |
AnchoringBehavior | 필드의 콘텐츠가 부모 ShapeElement에 상대적으로 자신을 배치하고 크기를 조정해야 하는 방법을 설명합니다. (ShapeField에서 상속됨) |
![]() |
DefaultAccessibleDescription | 액세스 가능한 기본 설명을 가져오거나 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultAccessibleName | 액세스 가능한 개체에 대한 모양 필드의 기본 이름을 가져오거나 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultAccessibleState | 액세스 가능한 개체에 대한 모양 필드의 기본 상태를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
DefaultBackgroundBrushId | 모양 필드의 배경을 그리는 기본 브러시의 ID를 가져오거나 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultFocusable | 모양 필드를 가져오고 포커스를 받을 수 있는지 여부를 확인하거나 모양 필드가 포커스를 받을 수 있도록 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultImage | 이 ImageField와 연결된 기본 이미지를 가져오거나 설정합니다.기본 이미지는 GetDisplayImage 메서드를 재정의하여 사용자 지정할 수 있습니다. |
![]() |
DefaultInactiveSelectedBackgroundBrushId | 모양 필드에 대한 기본 배경 브러시의 ID를 가져오거나 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultPenId | 모양 필드에 사용할 기본 펜의 ID를 가져오거나 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultReflectParentFocusedState | 자식 모양 필드를 가져오고 부모 모양이 포커스를 받거나 부모 모양의 포커스 상태를 반영하는 기능을 설정할 때 자식 모양 필드가 포커스를 받아야 하는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
DefaultReflectParentSelectedState | 자식 모양 필드를 가져오고 부모 모양이 선택되거나 부모 모양의 선택 상태를 반영하는 기능을 설정할 때 자식 모양 필드가 선택되어야 하는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
DefaultSelectable | 모양 필드를 가져오고 모양 필드가 기본적으로 선택될 수 있는지 여부를 확인하거나 모양 필드의 기본 선택 상태를 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultSelectedBackgroundBrushId | 모양 필드에 대한 기본 배경 브러시의 ID를 가져오거나 설정합니다. (ShapeField에서 상속됨) |
![]() |
DefaultUnscaled | 이 필드의 경계와 관련하여 크기를 조정하지 않고 이미지를 그려야 하는지 아니면 경계에 맞게 이미지의 크기를 조정해야 하는지를 가져오거나 설정합니다. |
![]() |
DefaultVisibility | 모양 필드를 가져오고 모양 필드가 기본적으로 나타나는지 여부를 확인하거나 모양 필드의 기본 표시 여부를 설정합니다. (ShapeField에서 상속됨) |
![]() |
Name | 셰이프 필드의 이름을 가져옵니다. (ShapeField에서 상속됨) |
위쪽
메서드
이름 | 설명 | |
---|---|---|
![]() |
AccessibleDoDefaultAction | 액세스 가능한 개체에 기본 작업을 수행합니다. (ShapeField에서 상속됨) |
![]() |
AllowInPlaceEditorAutoSize | 내부 편집기가 모양 필드에서 자동으로 크기 조정될 수 있도록 합니다. (ShapeField에서 상속됨) |
![]() |
AssociateValueWith(Store, AssociatedPropertyInfo) | 셰이프 필드를 셰이프 요소에 할당된 도메인 속성과 연결합니다. (ShapeField에서 상속됨) |
![]() |
AssociateValueWith(Store, Guid) | 셰이프 필드를 셰이프 요소에 할당된 도메인 속성과 연결합니다. (ShapeField에서 상속됨) |
![]() |
AssociateValueWith(Store, Guid, AssociatedPropertyInfo) | 셰이프 필드를 셰이프 요소에 할당된 도메인 속성과 연결합니다. (ShapeField에서 상속됨) |
![]() |
AssociateVisibilityWith(Store, AssociatedPropertyInfo) | 모양 필드의 표시 유형을 모양 요소에 할당된 도메인 속성과 연결합니다. (ShapeField에서 상속됨) |
![]() |
AssociateVisibilityWith(Store, Guid) | 모양 필드의 표시 유형을 모양 요소에 할당된 도메인 속성과 연결합니다. (ShapeField에서 상속됨) |
![]() |
AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) | 모양 필드의 표시 유형을 모양 요소에 할당된 도메인 속성과 연결합니다. (ShapeField에서 상속됨) |
![]() |
CanEditValue | 모양 필드를 가져오고 편집할 수 있는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
CommitPendingEdit | 보류 중인 편집을 커밋합니다. (ShapeField에서 상속됨) |
![]() |
DoHitTest | 다이어그램에 지정된 지점에서 적중 테스트를 수행하여 지점이 모양 필드 경계 내에 있는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
DoKeyboardNavigation | 모양 필드에서 키보드를 사용하여 이동합니다. (ShapeField에서 상속됨) |
![]() |
DoPaint | ShapeField의 내용을 그립니다. (ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)을(를) 재정의함) |
![]() |
EditValue(ShapeElement, DiagramClientView) | 모양 필드를 위해 현재 위치에서 편집기를 엽니다. (ShapeField에서 상속됨) |
![]() |
EditValue(ShapeElement, DiagramClientView, PointD) | 모양 필드를 위해 현재 위치에서 편집기를 엽니다. (ShapeField에서 상속됨) |
![]() |
Equals | 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨) |
![]() |
Finalize | 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨) |
![]() |
FindFirstChild | 부모 모양 필드에서 첫 번째 자식 모양 필드를 찾습니다. (ShapeField에서 상속됨) |
![]() |
FindLastChild | 부모 모양 필드에서 마지막 자식 모양 필드를 찾습니다. (ShapeField에서 상속됨) |
![]() |
FindNextChild | 부모 모양 필드에서 다음 자식 모양 필드를 찾습니다. (ShapeField에서 상속됨) |
![]() |
FindNextInChildSubFields | 탐색 순서에서 다음 자식 모양 필드를 찾습니다. (ShapeField에서 상속됨) |
![]() |
FindPreviousChild | 부모 모양 필드에서 이전 자식 모양 필드를 찾습니다. (ShapeField에서 상속됨) |
![]() |
FindPreviousInChildSubFields | 탐색 순서에서 이전 자식 모양 필드를 찾습니다. (ShapeField에서 상속됨) |
![]() |
Focused | 모양 필드를 가져오고 여기에 포커스가 있는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibilityObject | 셰이프 필드에 할당되는 액세스 가능한 개체를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleChild | 자식 모양 필드에 대한 Accessibility 개체를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleChildCount | 부모 모양 필드 및 자식 모양 필드에 할당된 내게 필요한 옵션 개체의 수를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleDefaultActionDescription | 액세스 가능한 개체에 대한 모양 필드의 기본 목적을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleDescription | 이미지 필드에 대한 기본 액세스 가능한 설명을 반환합니다. (ShapeField.GetAccessibleDescription(ShapeElement)을(를) 재정의함) |
![]() |
GetAccessibleHelp | 액세스 가능한 개체에 대한 모양 필드 도움말을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleHelpTopicFileName | 액세스 가능한 개체에 대한 도움말의 항목을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleHelpTopicId | 액세스 가능한 개체의 도움말 항목에 할당되는 ID를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleName | 이미지 필드에 대한 기본 액세스 가능한 이름을 반환합니다. (ShapeField.GetAccessibleName(ShapeElement)을(를) 재정의함) |
![]() |
GetAccessibleRole | 이 ShapeField의 액세스 가능한 역할을 검색합니다. (ShapeField.GetAccessibleRole(ShapeElement)을(를) 재정의함) |
![]() |
GetAccessibleState | 액세스 가능한 개체에 대한 모양 필드의 상태를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetAccessibleValue | 액세스 가능한 개체에 대한 모양 필드의 값을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetActiveInPlaceEditor | 활성화된 내부 편집기를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetBackgroundBrush | 이 모양 필드가 할당된 모양 요소의 배경을 그리는 브러시를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetBackgroundBrushId | 이 모양 필드가 할당된 모양 요소의 배경을 그리는 브러시의 ID를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetBounds | 모양 필드의 절대 범위를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetCursor | 마우스가 모양 필드를 가리키고 있을 때 나타나는 포인터를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetDisplayImage | 이 필드에 의해 표시될 이미지를 가져옵니다. |
![]() |
GetFocusable | 모양 필드를 가져오고 이 모양 필드가 포커스를 받을 수 있는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
GetHashCode | 기본 해시 함수로 작동합니다. (Object에서 상속됨) |
![]() |
GetInPlaceEditorBounds | 내부 편집기의 범위를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetMaximumInPlaceEditorSize | 내부 편집기의 최대 범위를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetMinimumInPlaceEditorSize | 내부 편집기의 최소 범위를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetMinimumSize | ImageField의 최소 크기를 반환합니다. (ShapeField.GetMinimumSize(ShapeElement)을(를) 재정의함) |
![]() |
GetPen | 모양 필드에 할당되는 모양 요소를 그리는 펜을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetPenId | 모양 필드가 할당된 모양 요소를 그리는 펜의 ID를 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetPotentialMouseAction | 사용자가 다이어그램에서 특정 지점을 클릭할 때 활성화할 마우스 동작을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetSelectable | 모양 필드를 가져오고 선택할 수 있는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) |
![]() |
GetUnscaled | 이미지를 실제 크기로 그려야 하는지 여부를 가져옵니다. |
![]() |
GetValue | 모양 필드의 값을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetValueDomainPropertyInfo | 모양 필드의 값에 할당되는 도메인 속성을 가져옵니다. (ShapeField에서 상속됨) |
![]() |
GetVisible | 모양 필드를 가져오고 표시되는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
HasFocusedAppearance | 모양 필드를 가져오고 포커스를 표시해야 하는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
HasPendingEdit | 모양 필드를 가져오고 내부 편집기가 활성 상태이고 변경이 보류 중인지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
HasSelectedAppearance | 모양 필드를 가져오고 선택할 수 있도록 표시되는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
IsNavigationKey(Char) | 사용자가 누른 키를 가져오고 모양 필드 간을 탐색하는 데 해당 키를 사용할 수 있는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
IsNavigationKey(Keys) | 사용자가 누른 키를 가져오고 모양 필드 간을 탐색하는 데 해당 키를 사용할 수 있는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
MemberwiseClone | 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨) |
![]() |
NavigateAscend | 선택된 모양에 대해 탐색 순서의 이전 모양 필드로 포커스를 이동합니다. (ShapeField에서 상속됨) |
![]() |
NavigateDescend | 선택된 모양에 대해 탐색 순서의 다음 모양 필드로 포커스를 이동합니다. (ShapeField에서 상속됨) |
![]() |
NavigateToFirst | 선택된 모양에 대해 탐색 순서의 첫 번째 모양 필드로 포커스를 이동합니다. (ShapeField에서 상속됨) |
![]() |
NavigateToLast | 선택된 모양에 대해 탐색 순서의 마지막 모양 필드로 포커스를 이동합니다. (ShapeField에서 상속됨) |
![]() |
NavigateToNext | 선택된 모양에 대해 탐색 순서의 다음 모양 필드로 포커스를 이동합니다. (ShapeField에서 상속됨) |
![]() |
NavigateToPrevious | 선택된 모양에 대해 탐색 순서의 이전 모양 필드로 포커스를 이동합니다. (ShapeField에서 상속됨) |
![]() |
OnBeginEdit | 내부 편집이 시작되었으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnClick | 사용자가 셰이프 필드를 클릭했으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnDoubleClick | 사용자가 셰이프 필드를 두 번 클릭했으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnEndEdit | 내부 편집이 완료되었으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnKeyDown | 사용자가 셰이프 필드를 가리킬 때 키를 누르고 있었으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnKeyPress | 사용자가 셰이프 필드를 가리킬 때 키를 눌렀으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnKeyUp | 사용자가 셰이프 필드를 가리킬 때 키를 놓았으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnMouseDown | 사용자가 셰이프 필드 위에서 마우스를 누르고 있으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnMouseMove | 마우스가 셰이프 필드 위로 이동했음을 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnMouseUp | 사용자가 셰이프 필드 위에서 마우스 단추를 놓았으면 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
OnMouseWheel | 마우스가 셰이프 필드 위에서 회전했음을 수신기에 알립니다. (ShapeField에서 상속됨) |
![]() |
Selected | 모양 필드를 가져오고 선택되었는지 여부를 확인합니다. (ShapeField에서 상속됨) |
![]() |
SetSelectionRange | 선택 영역을 자식 모양 필드 범위로 설정합니다. (ShapeField에서 상속됨) |
![]() |
SetValue | 모양 필드에 지정한 값을 할당합니다. (ShapeField에서 상속됨) |
![]() |
SetVisible | 모양 필드의 표시 유형을 설정합니다. (ShapeField에서 상속됨) |
![]() |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
설명
도형, 이미지 데코레이터를 정의 및 이미지 셰이프를 정의할 때 셰이프에 표시 되는 영역 이미지 필드에 의해 관리 됩니다. ImageFields 및 ShapeFields 다른 초기화의 예 DSL 솔루션에서 Dsl\GeneratedCode\Shapes.cs를 검사 합니다.
이미지 필드는 데코레이터에 할당 된 공간 등의 셰이프 내에서 영역을 관리 하는 개체입니다. 이미지 필드 인스턴스가 여러 셰이프에 같은 셰이프 클래스 간에 공유 됩니다. 이미지 필드 인스턴스의 각 도형에 대 한 별도 이미지를 저장 하지 않습니다: 대신의 GetDisplayImage(ShapeElement) 메서드를 매개 변수로 모양 하며 셰이프 및 해당 모델 요소의 현재 상태에 따라 이미지를 찾을 수 있습니다.
가변 이미지 처럼 특별 한 동작을 원한다 면 이미지 필드에서 파생 된 사용자 지정 클래스를 만들 수 있습니다.
이미지 필드의 하위 클래스를 만들려면
설정 된 이중 파생 생성 DSL 정의 부모 shape 클래스의 속성입니다.
재정의 하 여 InitializeShapeFields shape 클래스의 메서드.
- Shape 클래스에 대 한 partial 클래스 정의 쓰고 DSL 프로젝트의 새 코드 파일을 만듭니다. 메서드 정의 재정의 합니다.
코드 검사 InitializeShapeFields DSL\GeneratedCode\Shapes.cs에 있습니다.
재정의 메서드에서 기본 메서드를 호출 하 고 이미지 필드 클래스의 인스턴스를 만듭니다. 이 사용 하 여 이미지를 일반 필드를 대체 하는 shapeFields 목록.
예제
이 예제에서는 변경 아이콘 셰이프의 모델 요소의 상태에 따라 다릅니다.
경고
이 예제에서는 동적 이미지 데코레이터를 확인 하는 방법을 보여 줍니다.하지만 모델 변수 상태에 따라 하나 또는 두 이미지 사이 전환 하려면 간단 하 게 여러 이미지 데코레이터 만들고 찾을 셰이프를 같은 위치에 표시 필터 모델 변수의 특정 값을 설정 합니다.이 필터를 설정 하려면 DSL 정의 모양 맵 선택 DSL 정보 창 열고 데코레이터 탭을 클릭 합니다.
이 예제 코드를 실행 하려면 최소한의 언어 서식 파일을 사용 하 여 새 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) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.