Propriedade ShapeField.AnchoringBehavior

Descreve como o conteúdo do campo deve posicionar e dimensionar a mesmo em relação ao pai ShapeElement.

Namespace:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Sintaxe

'Declaração
Public ReadOnly Property AnchoringBehavior As AnchoringBehavior
public AnchoringBehavior AnchoringBehavior { get; }

Valor de propriedade

Tipo: Microsoft.VisualStudio.Modeling.Diagrams.AnchoringBehavior

Comentários

O AnchoringBehavior descreve como os de ShapeField deve posicionar e dimensionar propriamente dito em relação a seu pai e o irmão ShapeElements.

Para alterar o padrão de comportamento de ancoragem

  1. Definir o Gera Double derivado propriedade de sua forma de classe na definição de DSL e clique em Transformar todos os modelos de.

  2. Substituir InitializeDecorators() na sua classe de forma.

    • Crie um arquivo em seu projeto DSL e adicionar uma definição de classe parcial para sua classe de forma.O método Insert nessa classe.
  3. Chamar o SetAnchor métodos para o AnchoringBehavior objeto.

Exemplos

Por padrão, um campo de texto ocupa apenas uma única linha.Entretanto, este exemplo define uma forma na qual o usuário pode digitar o texto "codifica" em várias linhas.Para ver o comportamento de quebra, podemos também deve ancorar os lados do campo para os lados da forma.

Observação de cuidadoCuidado

Este código irá trabalhar com uma DSL criada usando o modelo de solução de idioma mínima.Adicionar a decorador chamado CommentDecorator para ExampleShapee mapeá-la a uma propriedade de seqüência de caracteres na classe de domínio ExampleElement.Definir o Gera Double derivado propriedade para ExampleShape na definição de DSL, para que o InitializeDecorators método pode ser substituído.

  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);
    }
  }

Segurança do .NET Framework

Consulte também

Referência

ShapeField Classe

Namespace Microsoft.VisualStudio.Modeling.Diagrams