Udostępnij za pośrednictwem


Właściwość ShapeField.AnchoringBehavior —

W tym artykule opisano, jak zawartość pola należy położenia i rozmiaru sobie w stosunku do nadrzędnego ShapeElement.

Przestrzeń nazw:  Microsoft.VisualStudio.Modeling.Diagrams
Zestaw:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (w Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Składnia

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

Wartość właściwości

Typ: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior

Uwagi

AnchoringBehavior opisuje, jak ShapeField powinien położenia i rozmiaru sobie w stosunku do jego nadrzędnego i ShapeElements element równorzędny.

Aby zmienić domyślne zachowanie kotwiczenia

  1. Ustaw Generuje podwójne uzyskane właściwości kształtu Klasa w definicji DSL, a następnie kliknij przycisk Transform wszystkie szablony.

  2. Zastąpić InitializeDecorators() w klasie kształtu.

    • Utwórz plik w projekcie DSL i dodać definicję klasy częściowego dla swojej klasy shape.Włóż metoda tej klasy.
  3. Wywołanie SetAnchor metody AnchoringBehavior obiektu.

Przykłady

Domyślnie pole tekstowe zajmuje tylko jeden wiersz.Jednakże w tym przykładzie definiuje kształtu, w którym użytkownik może wpisać "zawijania" na wiele wierszy tekstu.Aby sprawdzić sposób zawijania, możemy kontrolne bokach pola do krawędzi kształtu.

Informacje dotyczące przestrogiPrzestroga

Kod ten będzie współpracować z DSL, utworzony na podstawie szablonu roztwór minimalne języka.Dodać dekorator, o nazwie CommentDecorator do ExampleShapei mapowanie go do właściwości string w klasie domeny ExampleElement.Ustaw Generuje podwójne uzyskane właściwość ExampleShape w definicji DSL tak, aby InitializeDecorators może być zastąpiona metoda.

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

ShapeField Klasa

Przestrzeń nazw Microsoft.VisualStudio.Modeling.Diagrams