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
Legen Sie die Eigenschaft Generiert abgeleitetes Double der Formklasse in der DSL-Definition fest, und klicken Sie auf Alle Vorlagen transformieren.
Ü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.
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
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.