Поделиться через


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.

Изменить значение по умолчанию для привязки расширения функциональности

  1. Установка Создает производный тип double свойство класса фигуры в определении DSL, и нажмите кнопку Преобразовать все шаблоны.

  2. Переопределенный InitializeDecorators() в классе формы.

    • Создайте файл в проекте DSL, и добавьте определение разделяемого класса для класса формы.Добавьте метод в этот класс.
  3. Вызовите 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

См. также

Ссылки

ShapeField Класс

Microsoft.VisualStudio.Modeling.Diagrams - пространство имен