ShapeField.AnchoringBehavior - свойство
Описывает, как содержимое поля должно располагаться и размер самого относительно родительского ShapeElement.
Пространство имен: Microsoft.VisualStudio.Modeling.Diagrams
Сборка: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (в Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)
Синтаксис
'Декларация
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }
Значение свойства
Тип: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior
Заметки
AnchoringBehavior описывает, как ShapeField должен изменить расположение и размер самого по отношению к его родительскому элементу и родственного ShapeElements.
Изменить значение по умолчанию для привязки расширения функциональности
Установка Создает производный тип double свойство класса фигуры в определении DSL, и нажмите кнопку Преобразовать все шаблоны.
Переопределенный InitializeDecorators() в классе формы.
- Создайте файл в проекте DSL, и добавьте определение разделяемого класса для класса формы.Добавьте метод в этот класс.
Вызовите SetAnchor методы AnchoringBehavior объект.
Примеры
По умолчанию только текстовое поле занимает одну линию.Однако этот пример определяет форму, в которой пользователь может вводить текст, "помощью программы-оболочки" на несколько линий.Чтобы просмотреть создавая программу-оболочку расширения функциональности необходимо также выполнить привязку стороны поля сторонам фигуры.
Внимание |
---|
Этот код будет работать с DSL, созданный из минимального шаблона решения языка.Добавление средств оформитель CommentDecorator В ExampleShapeсопоставьте ее и к строковому свойству в доменном классе ExampleElement.Установка Создает производный тип double свойство ExampleShape в определении DSL, так как InitializeDecorators метод может быть переопределен. |
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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.VisualStudio.Modeling.Diagrams - пространство имен