共用方式為


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. 呼叫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 命名空間