ShapeField.AnchoringBehavior 属性

描述字段的内容应如何有关父 ShapeElement 确定和调整大小。

命名空间:  Microsoft.VisualStudio.Modeling.Diagrams
程序集:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0(在 Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll 中)

语法

声明
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }

属性值

类型:Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior

备注

AnchoringBehavior 描述 ShapeField 应如何有关其父级以及同级 ShapeElements 确定和调整大小。

修改锚定行为的默认

  1. 设置形状类的 生成派生的二进制文件 属性在 DSL 定义的,然后单击 转换所有模板

  2. 在形状类的重写 InitializeDecorators() 。

    • 创建一个文件在 DSL 项目,并将形状类的分部类定义。插入方法在该类。
  3. 调用 AnchoringBehavior 对象的 SetAnchor 方法。

示例

默认情况下,文本字段只占用一行。但是,此示例定义用户可以输入文本 “包装”跨多行上的形状。若要查看该包装的行为,我们还必须锚定字段的一侧到形状的。

警告说明警告

此代码与最小语言解决方案模板创建的 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 命名空间