Sdílet prostřednictvím


ShapeField.AnchoringBehavior – vlastnost

Popisuje, jak by obsah pole umístění a velikost samotného v nadřazené ShapeElement.

Obor názvů:  Microsoft.VisualStudio.Modeling.Diagrams
Sestavení:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (v Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Syntaxe

'Deklarace
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }

Hodnota vlastnosti

Typ: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior

Poznámky

AnchoringBehavior popisuje, jak by ShapeField umístění a velikost samotného ve vztahu k jeho nadřazené a ShapeElements na stejné úrovni.

Změnit výchozí chování kotvení

  1. Nastavit Generuje dvojité odvozené tvaru vlastnost třídy v definici DSL a na Transformace všechny šablony.

  2. Přepsat InitializeDecorators() ve své třídě obrazce.

    • Vytvořit soubor projektu DSL a přidat definici dílčí třídy pro obrazec Třída.Vložte metodu třídy.
  3. Volání SetAnchor metod AnchoringBehavior objektu.

Příklady

Výchozí textové pole zabírá pouze jeden řádek.Tento příklad definuje však tvar, ve kterém uživatel zadejte text, který "zabalí" na více řádků.Chcete-li zobrazit chování obtékání, jsme musí kotevní stranách pole do strany obrazce.

Poznámka k upozorněníUpozornění

Tento kód bude pracovat s DSL vytvořené ze šablony minimální jazykové řešení.Přidat decorator se nazývá CommentDecorator na ExampleShapea mapování na řetězcová vlastnost ve třídě domény ExampleElement.Nastavit Generuje dvojité odvozené vlastnost pro ExampleShape v definici DSL tak, aby InitializeDecorators metoda může být přepsána.

  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);
    }
  }

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

ShapeField Třída

Microsoft.VisualStudio.Modeling.Diagrams – obor názvů