Freigeben über


ShapeField.AnchoringBehavior-Eigenschaft

Beschreibt, wie der Inhalt des Felds und seine Größe in Bezug auf das übergeordnete ShapeElement positioniert werden soll.

Namespace:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Syntax

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

Eigenschaftswert

Typ: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior

Hinweise

Das AnchoringBehavior beschreibt, wie das ShapeField in Bezug auf sein übergeordnetes und ein nebengeordnetes Element ShapeElements positionieren und seine Größe sollte.

Um das Standardverankernverhalten ändern

  1. Legen Sie die Eigenschaft Generiert abgeleitetes Double der Formklasse in der DSL-Definition fest, und klicken Sie auf Alle Vorlagen transformieren.

  2. Überschreiben Sie InitializeDecorators() in der Formklasse.

    • Erstellen Sie eine Datei im DSL-Projekt, und fügen Sie einer Definition einer partiellen Klasse für die Formklasse hinzu. Fügen Sie die Methode in dieser Klasse ein.
  3. Rufen Sie die SetAnchor-Methoden des AnchoringBehavior-Objekts auf.

Beispiele

Standardmäßig erfolgt ein Textfeld nur eine Zeile. jedoch definiert in diesem Beispiel eine Form, in der der Benutzer Text eingeben kann, umschließt der "" auf mehrere Zeilen. Um das Umbruchsverhalten zu finden, müssen Sie die Seiten des Felds zu Seiten der Form auch verankern.

Warnung

Dieser Code funktioniert bei einem DSL, das von der minimalen Sprachenprojektmappenvorlage erstellt wird.Fügen Sie einen CommentDecorator hinzu, Decorator- ExampleShape aufgerufen wird, und ordnen Sie es einer Zeichenfolgeneigenschaft in der Domänenklasse ExampleElement zu.Legen Sie die Eigenschaft Generiert abgeleitetes Double für ExampleShape in der DSL-Definition fest, damit die InitializeDecorators-Methode überschrieben werden kann.

  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-Sicherheit

Siehe auch

Referenz

ShapeField Klasse

Microsoft.VisualStudio.Modeling.Diagrams-Namespace