NodeShape.BoundsRules 속성

크기와 경계 사각형의 위치는 사용자가 업데이트할 수 있습니다 범위 규칙을 제한 합니다.재정의 사용 하는 Boundsrules를 반환 합니다.

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

구문

‘선언
Public Overridable ReadOnly Property BoundsRules As BoundsRules
public virtual BoundsRules BoundsRules { get; }

속성 값

형식: Microsoft.VisualStudio.Modeling.Diagrams.BoundsRules

설명

어떻게 사용자를 이동할 수 있습니다 제한 하려면 shape 클래스 또는 셰이프 크기를 변경 Boundsrules를 재정의 합니다.예를 들어, 셰이프를 이동 하거나 특정 영역에 사용자가 방지할 수 또는 너비와 높이 비율 또는 특정 범위에 제한 될 수 있습니다.셰이프 또는 옆면이 나 모서리를 드래그 하는 사용자 및 사용자의 규칙에 따라 제한 되는 유령 모양 움직임을 볼 수 있지만 규칙을 적용 합니다.

이 속성을 구현 하는 클래스의 인스턴스를 반환 해야 BoundsRules.메서드 구현 BoundsRules 있어야 합니다 M:Microsoft.VisualStudio.Modeling.Diagrams.BoundsRules.GetCompliantBounds(Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement,Microsoft.VisualStudio.Modeling.Diagrams.RectangleD).사용자가 셰이프를 끄는 동안이 메서드를 반복적으로 호출 합니다.메서드의 크기와 사용자가 설정 하려는 위치를 나타내는 제안 된 범위를 제공 합니다.규칙에 의해 허용 되는 범위를 반환 해야 합니다.

제약 조건이 없는 경우에 적용 됩니다 BoundsRules 반환 nullNull 참조(Visual Basic의 경우 Nothing).

[!참고]

크기 또는 위치를 변경 하려면, 인접 한 도형의 위치를 조정 합니다. 예를 들어 발생 한 후에 응답 하는 경우 AbsoluteBounds 속성을 확인 하는 Changerule을 만듭니다.AbsoluteBoundsDomainPropertyId의 예제를 참조하십시오.외부 저장소 값을 업데이트 하려면 재정의 OnAbsoluteBoundsChanged.

예제

이 예제에서는 클래스에 지정 된 최소 너비를 행은 MyShape 모양과 높이와 너비의 사이는 특정 이동할 제한 됩니다.

// MyShape is defined in DSL Definition.
public partial class MyShape 
{
    public override BoundsRules BoundsRules
    {
        get
        {
            return new MyShapeBoundsRule();
        }
    }
}
public class MyShapeBoundsRule : BoundsRules
{
    public override RectangleD GetCompliantBounds(ShapeElement shape, RectangleD proposedBounds)
    {
       // Do not modify bounds if reading from file.
        if (shape.Store.InSerializationTransaction)
          return proposedBounds;
        MyShape myShape = shape as MyShape;
        if (myShape == null) return proposedBounds;
        RectangleD approvedBounds = new RectangleD();
        // In this rule, any Location is OK:
        approvedBounds.Location = proposedBounds.Location;
        // But the height and width are constrained:
        approvedBounds.Height = Math.Max(proposedBounds.Height, 1.0);
        approvedBounds.Width = approvedBounds.Height * 1.618;
        return approvedBounds;
    }    
 }

.NET Framework 보안

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

참고 항목

참조

NodeShape 클래스

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