Partager via


ShapeField.AnchoringBehavior, propriété

Décrit comment le contenu du champ doit positionner et se dimensionner jouez au ShapeElement parent.

Espace de noms :  Microsoft.VisualStudio.Modeling.Diagrams
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Syntaxe

'Déclaration
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }

Valeur de propriété

Type : Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior

Notes

L'AnchoringBehavior décrit comment le ShapeField doit positionner et se dimensionner par rapport à son parent et frère ShapeElements.

Pour modifier la valeur par défaut ancrant le comportement

  1. Définissez la propriété de Génère la dérivée double de votre classe de forme dans la définition DÉSOLÉ, puis cliquez sur Transformer tous les modèles.

  2. Substitution InitializeDecorators() dans votre classe de forme.

    • Créez un fichier dans votre projet DÉSOLÉ, puis ajoutez une définition de classe partielle pour votre classe de forme.Insérez la méthode dans cette classe.
  3. Appelez les méthodes d'SetAnchor d'objet d'AnchoringBehavior.

Exemples

Par défaut, un champ de texte occupe uniquement une ligne unique.Toutefois, cet exemple définit une forme dans laquelle l'utilisateur peut taper le texte qui des « wrapper » sur de plusieurs lignes.Pour voir le comportement d'habillage, nous devons également ancrer les côtés du champ aux côtés de la forme.

Mise en gardeAttention

Ce code s'exécutera avec un DÉSOLÉ créé du modèle minimal de solution de langage.Ajoutez un élément décoratif appelé CommentDecorator à ExampleShape, et mappez- à une propriété de type chaîne dans la classe ExampleElement de domaine.Définissez la propriété de Génère la dérivée double pour ExampleShape dans la définition DÉSOLÉ, afin que la méthode d'InitializeDecorators puisse être substituée.

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

Sécurité .NET Framework

Voir aussi

Référence

ShapeField Classe

Microsoft.VisualStudio.Modeling.Diagrams, espace de noms