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