Partilhar via


Classe ImageField

Objeto leve que representa uma parte de uma forma que possa exibir decoradores de imagem ou planos de fundo.

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
    Microsoft.VisualStudio.Modeling.Diagrams.ImageField

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 Class ImageField _
    Inherits ShapeField
public class ImageField : ShapeField

O tipo ImageField expõe os membros a seguir.

Construtores

  Nome Descrição
Método público ImageField(String) Inicializa uma nova instância da classe ImageField.
Método público ImageField(String, Image) Inicializa uma nova instância da classe ImageField.

Superior

Propriedades

  Nome Descrição
Propriedade pública AnchoringBehavior Descreve como o conteúdo do campo deve posicionar e dimensionar a mesmo em relação ao pai ShapeElement. (Herdado de ShapeField.)
Propriedade pública DefaultAccessibleDescription Obtém ou define a descrição acessível do padrão. (Herdado de ShapeField.)
Propriedade pública DefaultAccessibleName Obtém ou define o nome padrão do campo forma para o objeto acessível. (Herdado de ShapeField.)
Propriedade pública DefaultAccessibleState Obtém o estado padrão do campo forma para o objeto acessível. (Herdado de ShapeField.)
Propriedade pública DefaultBackgroundBrushId Obtém ou define a identificação do pincel padrão para pintar o plano de fundo do campo de forma. (Herdado de ShapeField.)
Propriedade pública DefaultFocusable Obtém o campo de forma e verifica se ele pode receber o foco ou permite que o campo de forma receber o foco. (Herdado de ShapeField.)
Propriedade pública DefaultImage Obtém ou define a imagem padrão associada a este ImageField.A imagem padrão pode ser personalizada, substituindo o método GetDisplayImage.
Propriedade pública DefaultInactiveSelectedBackgroundBrushId Obtém ou define a identificação do pincel de plano de fundo padrão para o campo de forma. (Herdado de ShapeField.)
Propriedade pública DefaultPenId Obtém ou define a identificação da caneta padrão a ser usado para o campo de forma. (Herdado de ShapeField.)
Propriedade pública DefaultReflectParentFocusedState Obtém o filho campo de forma e verifica se ele deve receber o foco quando a forma pai é focalizado ou define a capacidade para refletir o estado de foco da forma pai. (Herdado de ShapeField.)
Propriedade pública DefaultReflectParentSelectedState Obtém o filho campo de forma e verifica se ele deve ser selecionado quando forma pai é selecionada ou define a capacidade para refletir o estado de seleção da forma pai. (Herdado de ShapeField.)
Propriedade pública DefaultSelectable Obtém o campo de forma e verifica se ele pode ser selecionado por padrão ou define o estado de seleção do campo de forma padrão. (Herdado de ShapeField.)
Propriedade pública DefaultSelectedBackgroundBrushId Obtém ou define a identificação do pincel de plano de fundo padrão para o campo de forma. (Herdado de ShapeField.)
Propriedade pública DefaultUnscaled Obtém ou define se a imagem deve ser desenhada fora de escala em relação dos limites deste campo ou deve ser redimensionada para ajustar os limites.
Propriedade pública DefaultVisibility Obtém o campo de forma e verifica se ele é exibido por padrão ou define a visibilidade padrão do campo de forma. (Herdado de ShapeField.)
Propriedade pública Name Obtém o nome do campo de forma. (Herdado de ShapeField.)

Superior

Métodos

  Nome Descrição
Método público AccessibleDoDefaultAction Executa a ação padrão para o objeto acessível. (Herdado de ShapeField.)
Método público AllowInPlaceEditorAutoSize Permite que o editor in-loco ser dimensionada automaticamente no campo forma. (Herdado de ShapeField.)
Método público AssociateValueWith(Store, AssociatedPropertyInfo) Associa o campo de forma uma propriedade de domínio atribuído a um elemento de forma. (Herdado de ShapeField.)
Método público AssociateValueWith(Store, Guid) Associa o campo de forma uma propriedade de domínio atribuído a um elemento de forma. (Herdado de ShapeField.)
Método público AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Associa o campo de forma uma propriedade de domínio atribuído a um elemento de forma. (Herdado de ShapeField.)
Método público AssociateVisibilityWith(Store, AssociatedPropertyInfo) Associa a visibilidade do campo de forma uma propriedade de domínio atribuído a um elemento de forma. (Herdado de ShapeField.)
Método público AssociateVisibilityWith(Store, Guid) Associa a visibilidade do campo de forma uma propriedade de domínio atribuído a um elemento de forma. (Herdado de ShapeField.)
Método público AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Associa a visibilidade do campo de forma uma propriedade de domínio atribuído a um elemento de forma. (Herdado de ShapeField.)
Método público CanEditValue Obtém o campo de forma e verifica se ele pode ser editado. (Herdado de ShapeField.)
Método público CommitPendingEdit Confirma a edição pendente. (Herdado de ShapeField.)
Método público DoHitTest Executa um teste de ocorrência em um ponto especificado no diagrama para determinar se o ponto está em um dos limites do campo de forma. (Herdado de ShapeField.)
Método público DoKeyboardNavigation Navega no campo forma usando o teclado. (Herdado de ShapeField.)
Método público DoPaint Desenha o conteúdo do ShapeField. (Substitui ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).)
Método público EditValue(ShapeElement, DiagramClientView) Abre o editor in-loco para o campo de forma. (Herdado de ShapeField.)
Método público EditValue(ShapeElement, DiagramClientView, PointD) Abre o editor in-loco para o campo de forma. (Herdado de ShapeField.)
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público FindFirstChild Localiza o primeiro campo de forma filho no campo forma pai. (Herdado de ShapeField.)
Método público FindLastChild Localiza o último campo de forma filho no campo forma pai. (Herdado de ShapeField.)
Método público FindNextChild Localiza o próximo campo de forma filho no campo forma pai. (Herdado de ShapeField.)
Método público FindNextInChildSubFields Localiza o próximo campo de forma filho na seqüência de navegação. (Herdado de ShapeField.)
Método público FindPreviousChild Localiza o campo de forma filho anterior no campo forma pai. (Herdado de ShapeField.)
Método público FindPreviousInChildSubFields Localiza o campo de forma filho anterior na seqüência de navegação. (Herdado de ShapeField.)
Método público Focused Obtém o campo de forma e verifica se ele tem o foco. (Herdado de ShapeField.)
Método público GetAccessibilityObject Obtém o objeto de acessibilidade que é atribuído ao campo de forma. (Herdado de ShapeField.)
Método público GetAccessibleChild Obtém o objeto de acessibilidade para o campo de forma filho. (Herdado de ShapeField.)
Método público GetAccessibleChildCount Obtém o número de objetos de acessibilidade que são atribuídos para o campo de forma pai e seus campos de forma filho. (Herdado de ShapeField.)
Método público GetAccessibleDefaultActionDescription Obtém a finalidade padrão do campo forma para o objeto acessível. (Herdado de ShapeField.)
Método público GetAccessibleDescription Retorna a descrição acessível do padrão para um campo de imagem. (Substitui ShapeField.GetAccessibleDescription(ShapeElement).)
Método público GetAccessibleHelp Obtém o campo da forma ajuda para o objeto acessível. (Herdado de ShapeField.)
Método público GetAccessibleHelpTopicFileName Obtém um tópico da Ajuda para o objeto acessível. (Herdado de ShapeField.)
Método público GetAccessibleHelpTopicId Obtém a ID que é atribuída ao tópico da Ajuda para o objeto acessível. (Herdado de ShapeField.)
Método público GetAccessibleName Retorna o nome acessível do padrão para um campo de imagem. (Substitui ShapeField.GetAccessibleName(ShapeElement).)
Método público GetAccessibleRole Recupera a função acessível desta ShapeField. (Substitui ShapeField.GetAccessibleRole(ShapeElement).)
Método público GetAccessibleState Obtém o estado do campo forma para o objeto acessível. (Herdado de ShapeField.)
Método público GetAccessibleValue Obtém o valor no campo forma para o objeto acessível. (Herdado de ShapeField.)
Método público GetActiveInPlaceEditor Obtém o editor no local que está ativo. (Herdado de ShapeField.)
Método público GetBackgroundBrush Obtém o pincel que desenha o plano de fundo do elemento de forma a que este campo de forma é atribuído. (Herdado de ShapeField.)
Método público GetBackgroundBrushId Obtém a ID do pincel que desenha o plano de fundo do elemento de forma a que este campo de forma é atribuído. (Herdado de ShapeField.)
Método público GetBounds Obtém os limites para o campo de forma. (Herdado de ShapeField.)
Método público GetCursor Obtém o ponteiro que aparece quando o mouse está apontando para o campo de forma. (Herdado de ShapeField.)
Método público GetDisplayImage Obtém a imagem a ser exibida por este campo.
Método público GetFocusable Obtém o campo de forma e verifica se ele pode receber o foco. (Herdado de ShapeField.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetInPlaceEditorBounds Obtém os limites para o editor in-loco. (Herdado de ShapeField.)
Método público GetMaximumInPlaceEditorSize Obtém os limites máximo para o editor in-loco. (Herdado de ShapeField.)
Método público GetMinimumInPlaceEditorSize Obtém os limites mínimos para o editor in-loco. (Herdado de ShapeField.)
Método público GetMinimumSize Retorna o tamanho mínimo do ImageField. (Substitui ShapeField.GetMinimumSize(ShapeElement).)
Método público GetPen Obtém a caneta que desenha o elemento de forma a que o campo de forma é atribuído. (Herdado de ShapeField.)
Método público GetPenId Obtém a ID da caneta que desenha o elemento de forma a que o campo de forma é atribuído. (Herdado de ShapeField.)
Método público GetPotentialMouseAction Obtém a ação mouse para ativar quando o usuário clica em seguida um ponto específico no diagrama. (Herdado de ShapeField.)
Método público GetSelectable Obtém o campo de forma e verifica se ele pode ser selecionado. (Herdado de ShapeField.)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método público GetUnscaled Obtém se a imagem deve ser desenhada fora de escala ou não.
Método público GetValue Obtém o valor no campo forma. (Herdado de ShapeField.)
Método público GetValueDomainPropertyInfo Obtém a propriedade de domínio que é atribuída o valor no campo forma. (Herdado de ShapeField.)
Método público GetVisible Obtém o campo de forma e verifica se ele aparece. (Herdado de ShapeField.)
Método público HasFocusedAppearance Obtém o campo de forma e verifica se ela parece ter o foco. (Herdado de ShapeField.)
Método público HasPendingEdit Obtém o campo de forma e verifica se o seu editor no local está ativo e uma alteração é pendente. (Herdado de ShapeField.)
Método público HasSelectedAppearance Obtém o campo de forma e verifica se ele parece estar selecionada. (Herdado de ShapeField.)
Método público IsNavigationKey(Char) Obtém a chave que o usuário pressionou e verifica se ele pode ser usado para navegar entre os campos de forma. (Herdado de ShapeField.)
Método público IsNavigationKey(Keys) Obtém as chaves que o usuário pressionou e verifica se eles podem ser usados para navegar entre os campos de forma. (Herdado de ShapeField.)
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método público NavigateAscend Move o foco para o campo de forma anterior na seqüência de navegação para as formas selecionadas. (Herdado de ShapeField.)
Método público NavigateDescend Move o foco para o próximo campo de forma na seqüência de navegação para as formas selecionadas. (Herdado de ShapeField.)
Método público NavigateToFirst Move o foco para o primeiro campo de forma na seqüência de navegação para as formas selecionadas. (Herdado de ShapeField.)
Método público NavigateToLast Move o foco para o último campo da forma na seqüência de navegação para as formas selecionadas. (Herdado de ShapeField.)
Método público NavigateToNext Move o foco para o próximo campo de forma na seqüência de navegação para as formas selecionadas. (Herdado de ShapeField.)
Método público NavigateToPrevious Move o foco para o campo de forma anterior na seqüência de navegação para as formas selecionadas. (Herdado de ShapeField.)
Método protegido OnBeginEdit Ouvintes de alertas quando começou a edição in-loco. (Herdado de ShapeField.)
Método público OnClick Ouvintes de alertas quando o usuário clicou em um campo de forma. (Herdado de ShapeField.)
Método público OnDoubleClick Ouvintes de alertas quando o usuário clicou em um campo de forma. (Herdado de ShapeField.)
Método protegido OnEndEdit Ouvintes de alertas quando concluiu a edição in-loco. (Herdado de ShapeField.)
Método público OnKeyDown Ouvintes de alertas quando o usuário tem mantida pressionada uma tecla quando apontando para um campo de forma. (Herdado de ShapeField.)
Método público OnKeyPress Ouvintes de alertas quando o usuário pressiona uma tecla quando apontando para um campo de forma. (Herdado de ShapeField.)
Método público OnKeyUp Ouvintes de alertas quando o usuário lançou uma chave quando apontando para um campo de forma. (Herdado de ShapeField.)
Método público OnMouseDown Ouvintes de alertas quando o usuário está mantendo o botão do mouse pressionado sobre um campo de forma. (Herdado de ShapeField.)
Método público OnMouseMove Ouvintes de alertas quando o mouse foi movido sobre um campo de forma. (Herdado de ShapeField.)
Método público OnMouseUp Ouvintes de alertas quando o usuário que lançou o botão do mouse sobre um campo de forma. (Herdado de ShapeField.)
Método público OnMouseWheel Ouvintes de alertas quando o mouse sobre um campo de forma foi girado. (Herdado de ShapeField.)
Método público Selected Obtém o campo de forma e verifica se ele está selecionado. (Herdado de ShapeField.)
Método público SetSelectionRange Define a seleção a um intervalo de campos de forma filho. (Herdado de ShapeField.)
Método público SetValue Atribui o valor especificado para um campo de forma. (Herdado de ShapeField.)
Método público SetVisible Define a visibilidade do campo de forma. (Herdado de ShapeField.)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Comentários

Quando você define um decorador de imagem em uma forma e quando você define uma forma de imagem, a área na qual a forma é exibida é gerenciada por um ImageField.Para obter exemplos da inicialização do ImageFields e outros ShapeFields, inspecione Dsl\GeneratedCode\Shapes.cs em sua solução DSL.

Um ImageField é um objeto que gerencia uma área dentro de uma forma, como, por exemplo, o espaço atribuído a decorador.Uma instância de ImageField é compartilhada entre várias formas da mesma classe shape.A instância de ImageField não armazena uma imagem separada para cada forma: em vez disso, o GetDisplayImage(ShapeElement) método assume a forma como um parâmetro e pode pesquisar a imagem dependem do estado atual da forma e seu elemento de modelo.

Se você quiser um comportamento especial, como uma imagem de variável, você pode criar sua própria classe derivada de ImageField.

Para criar uma subclasse de ImageField

  1. Definir o Gera Double derivado a propriedade da classe shape pai em sua definição de DSL.

  2. Substituir o InitializeShapeFields método de sua classe de forma.

    • Criar um novo arquivo de código no projeto DSL e escrever uma definição de classe parcial para a classe shape.Substitua a definição do método lá.
  3. Inspecione o código de InitializeShapeFields em DSL\GeneratedCode\Shapes.cs.

    No seu método de substituição, chamar o método base e, em seguida, criar uma instância de sua própria classe de campo de imagem.Use esta opção para substituir o campo de imagem normais na shapeFields lista.

Exemplos

Este exemplo torna um ícone alterar dependem do estado de elemento de modelo da forma.

Observação de cuidadoCuidado

Este exemplo demonstra como tornar a decorador imagem dinâmica.Mas se você apenas quiser alternar entre uma ou duas imagens dependendo do estado de uma variável de modelo, é mais simples de criar vários decoradores de imagem, localizá-los na mesma posição na forma e, em seguida, definir o filtro de visibilidade depende de valores específicos da variável de modelo.Para definir este filtro, selecione o forma de mapa na definição de DSL, abra a janela de detalhes de DSL e clique na guia decoradores.

Para executar este código de exemplo, crie uma nova solução DSL, usando o modelo de idioma mínima.Adicionar uma propriedade Boolean domínio AlternateState para a classe ExampleElement do domínio.Adicione um decorador de ícone para a classe ExampleShape e defina sua imagem como um arquivo de bitmap.Clique em transformar todos os modelos de.Adicionar um novo arquivo de código no projeto DSL e insira o código a seguir.

Para testar o código, pressione F5 e, na solução de depuração, abrir um diagrama de exemplo.O estado padrão do ícone deve aparecer.Selecione a forma e na janela Properties, altere o valor da AlternateState propriedade.O ícone, em seguida, deverá aparecer girado por meio de 90 graus, nessa forma.

using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Diagrams;
...
partial class ExampleShape
{
    /// <summary>
    /// Compose a list of the fields in this shape.
    /// Called once for each shape class.
    /// </summary>
    /// <param name="shapeFields"></param>
    protected override void InitializeShapeFields(IList<ShapeField> shapeFields)
    {
      // Fields set up according to DSL Definition:
      base.InitializeShapeFields(shapeFields);

      // Replace the image field:
      ShapeField oldField = ShapeElement.FindShapeField(shapeFields, "IconDecorator");
      shapeFields.Remove(oldField);
      // Must keep the same name:
      MyImageField newField = new MyImageField(oldField.Name);
      shapeFields.Add(newField);
      newField.DefaultImage = (oldField as ImageField).DefaultImage.Clone() as System.Drawing.Image;
    }
  }


  public class MyImageField : ImageField
  {
    public MyImageField(string tag) : base(tag) { }

    /// <summary>
    /// Get the image for this field in the given shape.
    /// </summary>
    public override System.Drawing.Image GetDisplayImage(ShapeElement parentShape)
    {
      ExampleElement element = parentShape.ModelElement as ExampleElement;
      if (element.AlternateState == true)
        return AlternateImage;
      else
        return base.GetDisplayImage(parentShape);
    }

    private System.Drawing.Image alternateImage;
    public System.Drawing.Image AlternateImage
    {
      get
      {
        if (alternateImage == null)
        {
          // Alternate image is a copy of the default, rotated by 90 degrees:
          alternateImage = this.DefaultImage.Clone() as System.Drawing.Image;
          alternateImage.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipNone);
        }
        return alternateImage;
      }
    }
  }
}

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling.Diagrams

TextField

ShapeField

InitializeShapeFields