ShapeField.AnchoringBehavior 속성
필드의 콘텐츠가 부모 ShapeElement에 상대적으로 자신을 배치하고 크기를 조정해야 하는 방법을 설명합니다.
네임스페이스: Microsoft.VisualStudio.Modeling.Diagrams
어셈블리: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0(Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)
구문
‘선언
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }
속성 값
형식: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior
설명
AnchoringBehavior는 ShapeField의를 놓고는 부모 및 형제 ShapeElements 기준으로 크기를 조정할지 방법을 설명 합니다.
기본 고정 동작을 변경 하려면
설정 된 이중 파생 생성 도형의 속성 DSL 정의에서 클래스를 클릭 모든 템플릿 변환.
재정의 InitializeDecorators() shape 클래스에 있습니다.
- DSL 프로젝트에서 파일을 만들고 shape 클래스의 partial 클래스 정의 추가 합니다. 이 클래스의 메서드를 삽입 합니다.
호출에서 SetAnchor 메서드는 AnchoringBehavior 개체입니다.
예제
기본적으로 텍스트 필드는 한 줄만 차지합니다. 그러나이 예제에서는 사용자가 텍스트를 여러 줄으로 "줄바꿈"를 입력할 수 있는 셰이프를 정의 합니다. 줄 바꿈 동작을 보려면 측면 양쪽을 필드의도 고정 해야 하겠습니다.
경고
이 코드는 최소한의 언어 솔루션 템플릿에서 만든 DSL 사용 합니다.데코레이터 라고 추가 CommentDecorator 를 ExampleShape, 도메인 클래스의 문자열 속성에 매핑할 ExampleElement.설정에서 이중 파생 생성 속성을 ExampleShape DSL 정의 하는 InitializeDecorators 메서드를 재정의할 수 있습니다.
public partial class ExampleShape
{
// Called once for each shape instance, after InitializeShapeFields
protected override void InitializeDecorators
(IList<ShapeField> shapeFields, IList<Decorator> decorators)
{ // Be sure to call the base method.
base.InitializeDecorators(shapeFields, decorators);
// Look up the shape field, which is called "CommentDecorator":
TextField commentField = (TextField)ShapeElement.FindShapeField(shapeFields, "CommentDecorator");
TextField nameField = (TextField)ShapeElement.FindShapeField(shapeFields, "NameDecorator");
// Allow multiple lines of text in the field.
commentField.DefaultMultipleLine = true;
// Autosize is not supported for multi-line fields.
commentField.DefaultAutoSize = false;
// Anchor the field slightly inside the container shape.
commentField.AnchoringBehavior.Clear();
commentField.AnchoringBehavior.
SetLeftAnchor(AnchoringBehavior.Edge.Left, 0.01);
commentField.AnchoringBehavior.
SetRightAnchor(AnchoringBehavior.Edge.Right, 0.01);
commentField.AnchoringBehavior.
SetTopAnchor(nameField, AnchoringBehavior.Edge.Bottom, 0.01);
commentField.AnchoringBehavior.
SetBottomAnchor(AnchoringBehavior.Edge.Bottom, 0.01);
}
}
.NET Framework 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.