ShapeField.AnchoringBehavior-Eigenschaft
Beschreibt, wie der Inhalt des Felds und seine Größe selbst in Bezug auf das übergeordnete ShapeElement positioniert werden soll.
Namespace: Microsoft.VisualStudio.Modeling.Diagrams
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)
Syntax
'Declaration
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }
Eigenschaftswert
Typ: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior
Hinweise
Das AnchoringBehavior wird beschrieben, wie das ShapeField und seine Größe selbst in Bezug auf das übergeordnete ShapeElements und ein gleichgeordnetes Element positioniert werden soll.
Um das standardmäßige Verhalten ändern Verankern
Legen Sie die Generiert abgeleitetes Double-Eigenschaft der Form Klasse in der DSL-Definition, und klicken Sie auf Alle Vorlagen transformierenfest.
Überschreiben InitializeDecorators() in der Form Klasse.
- Erstellen Sie eine Datei in DSL-Projekt, und fügen Sie eine partielle Klassendefinition für die Klasse Form hinzu.Fügen Sie die Methode in dieser Klasse ein.
Rufen Sie die Methoden des SetAnchorAnchoringBehavior-Objekts an.
Beispiele
Standardmäßig nimmt ein Textfeld nur eine einzige Zeile.In diesem Beispiel definiert eine Form, in der der Benutzer Text eingeben kann, der „umschließt“ in mehreren Zeilen.Erstellt einen Wrapper für Um das Verhalten zu sehen, müssen wir die Seiten des Felds auf den Seiten der Form auch verankern.
Vorsicht |
---|
Dieser Code funktioniert mit einer DSL, das von der Vorlage erstellten Office-Projektmappen Sprachen minimalen.Fügen Sie ein Decorator-Element hinzu, das CommentDecoratorExampleShapeaufgerufen wird, und ordnen Sie es einer Zeichenfolgeneigenschaft in der Domänenklasse ExampleElement.Legen Sie die Generiert abgeleitetes Double-Eigenschaft für ExampleShape in der DSL-Definition fest, sodass 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.