Właściwość ShapeField.AnchoringBehavior —
W tym artykule opisano, jak zawartość pola należy położenia i rozmiaru sobie w stosunku do nadrzędnego ShapeElement.
Przestrzeń nazw: Microsoft.VisualStudio.Modeling.Diagrams
Zestaw: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (w Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)
Składnia
'Deklaracja
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }
Wartość właściwości
Typ: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior
Uwagi
AnchoringBehavior opisuje, jak ShapeField powinien położenia i rozmiaru sobie w stosunku do jego nadrzędnego i ShapeElements element równorzędny.
Aby zmienić domyślne zachowanie kotwiczenia
Ustaw Generuje podwójne uzyskane właściwości kształtu Klasa w definicji DSL, a następnie kliknij przycisk Transform wszystkie szablony.
Zastąpić InitializeDecorators() w klasie kształtu.
- Utwórz plik w projekcie DSL i dodać definicję klasy częściowego dla swojej klasy shape.Włóż metoda tej klasy.
Wywołanie SetAnchor metody AnchoringBehavior obiektu.
Przykłady
Domyślnie pole tekstowe zajmuje tylko jeden wiersz.Jednakże w tym przykładzie definiuje kształtu, w którym użytkownik może wpisać "zawijania" na wiele wierszy tekstu.Aby sprawdzić sposób zawijania, możemy kontrolne bokach pola do krawędzi kształtu.
Przestroga |
---|
Kod ten będzie współpracować z DSL, utworzony na podstawie szablonu roztwór minimalne języka.Dodać dekorator, o nazwie CommentDecorator do ExampleShapei mapowanie go do właściwości string w klasie domeny ExampleElement.Ustaw Generuje podwójne uzyskane właściwość ExampleShape w definicji DSL tak, aby InitializeDecorators może być zastąpiona metoda. |
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);
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..