ShapeField.AnchoringBehavior, propriété
Décrit comment le contenu du champ doit se positionner et se dimensionner en fonction du ShapeElement parent.
Espace de noms : Microsoft.VisualStudio.Modeling.Diagrams
Assembly : Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.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 se positionner et ajuster en relation avec son parent et frère ShapeElements.
Pour modifier la valeur par défaut ancrant le comportement
Définissez la propriété Génère un double dérivée de la classe de forme dans la définition de DSL, puis cliquez sur Transformer tous les modèles.
Remplacez InitializeDecorators() dans la classe de forme.
- Créez un fichier dans votre projet de DSL, puis ajoutez une définition de classe partielle pour votre classe de forme. Insérez la méthode de la classe.
Appelez les méthodes d'SetAnchor d'AnchoringBehavior.
Exemples
Par défaut, un champ de texte occupe une seule ligne. Cependant, cet exemple définit une forme dans laquelle l'utilisateur peut taper le texte qui « enveloppes » sur plusieurs lignes. Pour afficher le comportement d'habillage, nous devons également ancrer les côtés du champ à côté de la forme.
Avertissement
Ce code fonctionne avec un DSL création du modèle minimal de solution de langage.Ajoutez un décorateur appelé CommentDecorator à ExampleShape, et le mappez- à une propriété de chaîne de la classe ExampleElementde domaine.Définissez la propriété Génère un double dérivée pour ExampleShape dans la définition de DSL, afin que la méthode d'InitializeDecorators peut être remplacé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
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.