次の方法で共有


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 定義の Shape クラスの [double 型の派生が生成されます。] のプロパティを設定し、[すべてのテンプレートの変換(T)] をクリックします。

  2. Shape クラスの InitializeDecorators() をオーバーライドします。

    • ファイルを DSL のプロジェクトで作成し、Shape クラスの部分クラス定義を追加します。 そのクラスでメソッドを挿入します。
  3. AnchoringBehavior オブジェクトの SetAnchor のメソッドを呼び出します。

既定では、テキスト フィールド単一行のみを使用します。 ただし、この例では、ユーザーが複数の行に「ラップ」を入力できる図形を定義しています。 ラップする動作を参照するために、図形の側にフィールドの辺を修正する必要があります。

注意

このコードは最小限の言語ソリューション テンプレートから作成されたリンクを使用します。CommentDecorator と呼ばれるデコレータを ExampleShapeに追加し、ドメイン クラス ExampleElementの文字列プロパティに対応します。InitializeDecorators のメソッドをオーバーライドするために、DSL 定義の ExampleShape の [double 型の派生が生成されます。] のプロパティを設定します。

  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 名前空間