다음을 통해 공유


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 기준으로 크기를 조정할지 방법을 설명 합니다.

기본 고정 동작을 변경 하려면

  1. 설정 된 이중 파생 생성 도형의 속성 DSL 정의에서 클래스를 클릭 모든 템플릿 변환.

  2. 재정의 InitializeDecorators() shape 클래스에 있습니다.

    • DSL 프로젝트에서 파일을 만들고 shape 클래스의 partial 클래스 정의 추가 합니다. 이 클래스의 메서드를 삽입 합니다.
  3. 호출에서 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 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

ShapeField 클래스

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