Compartir a través de


ImageField (Clase)

Objeto ligero que representa un elemento de una forma que puede mostrar los decoradores o fondos de la imagen.

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.VisualStudio.Modeling.Diagrams
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (en Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Sintaxis

'Declaración
Public Class ImageField _
    Inherits ShapeField
public class ImageField : ShapeField

El tipo ImageField expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público ImageField(String) Inicializa una nueva instancia de la clase ImageField.
Método público ImageField(String, Image) Inicializa una nueva instancia de la clase ImageField.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública AnchoringBehavior Describe cómo la forma debe colocar y el tamaño propio mientras la forma primaria desplaza y cambia su tamaño. (Se hereda de ShapeField).
Propiedad pública DefaultAccessibleDescription Obtiene o establece la descripción accesible predeterminada. (Se hereda de ShapeField).
Propiedad pública DefaultAccessibleName Obtiene o establece el nombre predeterminado del campo de la forma del objeto accesible. (Se hereda de ShapeField).
Propiedad pública DefaultAccessibleState Obtiene el estado predeterminado del campo de forma para el objeto accesible. (Se hereda de ShapeField).
Propiedad pública DefaultBackgroundBrushId Obtiene o establece el identificador del pincel predeterminado para pintar el fondo del campo de forma. (Se hereda de ShapeField).
Propiedad pública DefaultFocusable Obtiene el campo de la forma y comprueba si puede recibir el foco, o proporciona al campo de la forma la capacidad de recibir el foco. (Se hereda de ShapeField).
Propiedad pública DefaultImage Obtiene o establece la imagen predeterminada adjuntada a este ImageField.La imagen predeterminada se puede personalizar invalidando el método GetDisplayImage.
Propiedad pública DefaultInactiveSelectedBackgroundBrushId Obtiene o establece el identificador del pincel de fondo predeterminado para el campo de forma. (Se hereda de ShapeField).
Propiedad pública DefaultPenId Obtiene o establece el identificador del lápiz predeterminado que se va a usar para el campo de forma. (Se hereda de ShapeField).
Propiedad pública DefaultReflectParentFocusedState Obtiene el campo de la forma secundaria y comprueba si debe recibir el foco cuando su forma primaria recibe el foco, o bien establece la capacidad para reflejar el estado del foco de su forma primaria. (Se hereda de ShapeField).
Propiedad pública DefaultReflectParentSelectedState Obtiene el campo de la forma secundaria y comprueba si debe seleccionarse cuando se selecciona su forma primaria, o bien establece la capacidad de reflejar el estado de selección de su forma primaria. (Se hereda de ShapeField).
Propiedad pública DefaultSelectable Obtiene el campo de la forma y comprueba si puede estar seleccionada de forma predeterminada, o establece el estado de selección predeterminado del campo de la forma. (Se hereda de ShapeField).
Propiedad pública DefaultSelectedBackgroundBrushId Obtiene o establece el identificador del pincel de fondo predeterminado para el campo de forma. (Se hereda de ShapeField).
Propiedad pública DefaultUnscaled Obtiene o establece si la imagen debe dibujarse sin escala respecto a los límites de este campo o la imagen debe escalarse para ajustar los límites.
Propiedad pública DefaultVisibility Obtiene el campo de la forma y compruebe si aparece de forma predeterminada, o establece la visibilidad predeterminada del campo de la forma. (Se hereda de ShapeField).
Propiedad pública Name Obtiene el nombre del campo de forma. (Se hereda de ShapeField).

Arriba

Métodos

  Nombre Descripción
Método público AccessibleDoDefaultAction Realiza la acción predeterminada del objeto accesible. (Se hereda de ShapeField).
Método público AllowInPlaceEditorAutoSize Habilita el editor en contexto para cambiar su tamaño automáticamente en el campo de la forma. (Se hereda de ShapeField).
Método público AssociateValueWith(Store, AssociatedPropertyInfo) Asocia el campo de forma a una propiedad de dominio asignada a un elemento de forma. (Se hereda de ShapeField).
Método público AssociateValueWith(Store, Guid) Asocia el campo de forma a una propiedad de dominio asignada a un elemento de forma. (Se hereda de ShapeField).
Método público AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Asocia el campo de forma a una propiedad de dominio asignada a un elemento de forma. (Se hereda de ShapeField).
Método público AssociateVisibilityWith(Store, AssociatedPropertyInfo) Asocia la visibilidad del campo de forma a una propiedad de dominio asignada a un elemento de forma. (Se hereda de ShapeField).
Método público AssociateVisibilityWith(Store, Guid) Asocia la visibilidad del campo de forma a una propiedad de dominio asignada a un elemento de forma. (Se hereda de ShapeField).
Método público AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Asocia la visibilidad del campo de forma a una propiedad de dominio asignada a un elemento de forma. (Se hereda de ShapeField).
Método público CanEditValue Obtiene el campo de la forma y comprueba si se puede modificar. (Se hereda de ShapeField).
Método público CommitPendingEdit Confirma la edición pendiente. (Se hereda de ShapeField).
Método público DoHitTest Realiza una prueba de posicionamiento en un punto especificado del diagrama para determinar si el punto está en los límites del campo de forma. (Se hereda de ShapeField).
Método público DoKeyboardNavigation Navega en el campo de forma mediante el teclado. (Se hereda de ShapeField).
Método público DoPaint Dibuja el contenido de ShapeField. (Invalida a ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)).
Método público EditValue(ShapeElement, DiagramClientView) Abre el editor en contexto para el campo de forma. (Se hereda de ShapeField).
Método público EditValue(ShapeElement, DiagramClientView, PointD) Abre el editor en contexto para el campo de forma. (Se hereda de ShapeField).
Método público Equals Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público FindFirstChild Busca el primer campo de forma secundaria en el campo de la forma primaria. (Se hereda de ShapeField).
Método público FindLastChild Busca el último campo de forma secundaria en el campo de la forma primaria. (Se hereda de ShapeField).
Método público FindNextChild Busca el siguiente campo de forma secundaria en el campo de la forma primaria. (Se hereda de ShapeField).
Método público FindNextInChildSubFields Busca el campo siguiente de la forma secundaria en la secuencia de navegación. (Se hereda de ShapeField).
Método público FindPreviousChild Busca el campo anterior de la forma secundaria en el campo de la forma primaria. (Se hereda de ShapeField).
Método público FindPreviousInChildSubFields Busca el campo anterior de la forma secundaria en la secuencia de navegación. (Se hereda de ShapeField).
Método público Focused Obtiene el campo de la forma y comprueba si tiene el foco. (Se hereda de ShapeField).
Método público GetAccessibilityObject Obtiene el objeto de accesibilidad que se asigna al campo de forma. (Se hereda de ShapeField).
Método público GetAccessibleChild Obtiene el objeto de accesibilidad para el campo de forma secundaria. (Se hereda de ShapeField).
Método público GetAccessibleChildCount Obtiene el número de objetos de accesibilidad asignados al campo de la forma primaria y sus campos de forma secundaria. (Se hereda de ShapeField).
Método público GetAccessibleDefaultActionDescription Obtiene el propósito predeterminado del campo de forma para el objeto accesible. (Se hereda de ShapeField).
Método público GetAccessibleDescription Devuelve la descripción accesible predeterminada para un campo de imagen. (Invalida a ShapeField.GetAccessibleDescription(ShapeElement)).
Método público GetAccessibleHelp Obtiene la Ayuda del campo de la forma para el objeto accesible. (Se hereda de ShapeField).
Método público GetAccessibleHelpTopicFileName Obtiene un tema de la Ayuda para el objeto accesible. (Se hereda de ShapeField).
Método público GetAccessibleHelpTopicId Obtiene el identificador asignado al tema de Ayuda del objeto accesible. (Se hereda de ShapeField).
Método público GetAccessibleName Devuelve el nombre accesible predeterminado para un campo de imagen. (Invalida a ShapeField.GetAccessibleName(ShapeElement)).
Método público GetAccessibleRole Recupera el rol accesible de este ShapeField. (Invalida a ShapeField.GetAccessibleRole(ShapeElement)).
Método público GetAccessibleState Obtiene el estado del campo de forma para el objeto accesible. (Se hereda de ShapeField).
Método público GetAccessibleValue Obtiene el valor del campo de forma del objeto accesible. (Se hereda de ShapeField).
Método público GetActiveInPlaceEditor Obtiene el editor en contexto que está activo. (Se hereda de ShapeField).
Método público GetBackgroundBrush Obtiene el pincel que dibuja el fondo del elemento de forma al que está asignado este campo de forma. (Se hereda de ShapeField).
Método público GetBackgroundBrushId Obtiene el identificador del pincel que dibuja el fondo del elemento de forma al que está asignado este campo de forma. (Se hereda de ShapeField).
Método público GetBounds Obtiene los límites del campo de forma. (Se hereda de ShapeField).
Método público GetCursor Obtiene el puntero que aparece cuando el mouse está señalando el campo de la forma. (Se hereda de ShapeField).
Método público GetDisplayImage Obtiene la imagen que se mostrará por este campo.
Método público GetFocusable Obtiene el campo de la forma y comprueba si puede recibir el foco. (Se hereda de ShapeField).
Método público GetHashCode Sirve como la función hash predeterminada. (Se hereda de Object).
Método público GetInPlaceEditorBounds Obtiene los límites para el editor en contexto. (Se hereda de ShapeField).
Método público GetMaximumInPlaceEditorSize Obtiene los límites máximos para el editor en contexto. (Se hereda de ShapeField).
Método público GetMinimumInPlaceEditorSize Obtiene los límites mínimos para el editor en contexto. (Se hereda de ShapeField).
Método público GetMinimumSize Devuelve el tamaño mínimo de ImageField. (Invalida a ShapeField.GetMinimumSize(ShapeElement)).
Método público GetPen Obtiene la pluma que dibuja el elemento de forma al que está asignado el campo de forma. (Se hereda de ShapeField).
Método público GetPenId Obtiene el identificador de la pluma que dibuja el elemento de forma al que está asignado el campo de forma. (Se hereda de ShapeField).
Método público GetPotentialMouseAction Obtiene la acción del mouse que se activará la próxima vez que el usuario haga clic en un punto concreto del diagrama. (Se hereda de ShapeField).
Método público GetSelectable Obtiene el campo de la forma y comprueba si se puede seleccionar. (Se hereda de ShapeField).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público GetUnscaled Obtiene si la imagen debe dibujarse sin escala o no.
Método público GetValue Obtiene el valor del campo de forma. (Se hereda de ShapeField).
Método público GetValueDomainPropertyInfo Obtiene la propiedad de dominio asignada al valor en el campo de forma. (Se hereda de ShapeField).
Método público GetVisible Obtiene el campo de la forma y comprueba si aparece. (Se hereda de ShapeField).
Método público HasFocusedAppearance Obtiene el campo de la forma y comprueba si debe aparecer para tener el foco. (Se hereda de ShapeField).
Método público HasPendingEdit Obtiene el campo de la forma y comprueba si su editor en contexto está activo y un cambio está pendiente. (Se hereda de ShapeField).
Método público HasSelectedAppearance Obtiene el campo de la forma y comprueba si parece estar seleccionado. (Se hereda de ShapeField).
Método público IsNavigationKey(Char) Obtiene la clave que el usuario presionó y comprueba si se puede usar para navegar entre los campos de la forma. (Se hereda de ShapeField).
Método público IsNavigationKey(Keys) Obtiene las claves que el usuario presionó y comprueba si se pueden usar para navegar entre los campos de la forma. (Se hereda de ShapeField).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público NavigateAscend Mueve el foco al campo de forma anterior en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField).
Método público NavigateDescend Mueve el foco al siguiente campo de forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField).
Método público NavigateToFirst Mueve el foco al primer campo de forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField).
Método público NavigateToLast Mueve el foco al último campo de forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField).
Método público NavigateToNext Mueve el foco al siguiente campo de forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField).
Método público NavigateToPrevious Mueve el foco al campo de forma anterior en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField).
Método protegido OnBeginEdit Alerta a los agentes de escucha cuando ha comenzado la edición en contexto. (Se hereda de ShapeField).
Método público OnClick Alerta a los agentes de escucha cuando el usuario hace clic en un campo de forma. (Se hereda de ShapeField).
Método público OnDoubleClick Alerta a los agentes de escucha cuando el usuario hace doble clic en un campo de forma. (Se hereda de ShapeField).
Método protegido OnEndEdit Alerta a los agentes de escucha cuando se ha completado la edición en contexto. (Se hereda de ShapeField).
Método público OnKeyDown Alerta a los agentes de escucha cuando el usuario ha mantenido presionada una tecla al señalar a un campo de forma. (Se hereda de ShapeField).
Método público OnKeyPress Alerta a los agentes de escucha cuando el usuario ha presionado una tecla al señalar a un campo de forma. (Se hereda de ShapeField).
Método público OnKeyUp Alerta a los agentes de escucha cuando el usuario ha soltado una tecla al señalar a un campo de forma. (Se hereda de ShapeField).
Método público OnMouseDown Alerta a los agentes de escucha cuando el usuario mantiene presionado el mouse sobre un campo de forma. (Se hereda de ShapeField).
Método público OnMouseMove Alerta a los agentes de escucha cuando el mouse se ha movido de un campo de la forma. (Se hereda de ShapeField).
Método público OnMouseUp Alerta a los agentes de escucha cuando el usuario suelta el botón del mouse sobre un campo de la forma. (Se hereda de ShapeField).
Método público OnMouseWheel Alerta a los agentes de escucha cuando el mouse se ha girado sobre un campo de la forma. (Se hereda de ShapeField).
Método público Selected Obtiene el campo de la forma y comprueba si está seleccionado. (Se hereda de ShapeField).
Método público SetSelectionRange Establece la selección en un intervalo de campos de forma secundaria. (Se hereda de ShapeField).
Método público SetValue Asigna el valor especificado a un campo de forma. (Se hereda de ShapeField).
Método público SetVisible Establece la visibilidad del campo de forma. (Se hereda de ShapeField).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Comentarios

Cuando se define un elemento decorator de imagen en una forma, y cuando se define una forma de la imagen, el área en la que se muestra la forma es administrado por un ImageField. Para obtener ejemplos de inicialización de ImageFields y otros ShapeFields, inspeccione Dsl\GeneratedCode\Shapes.cs en la solución ADSL.

Un ImageField es un objeto que administra un área dentro de una forma, como el espacio asignado un elemento decorator. Una instancia de ImageField comparten muchas formas de la misma clase shape. La instancia de ImageField no almacena una imagen independiente para cada forma: en su lugar, el método de GetDisplayImage(ShapeElement) toma la forma como parámetro y, puede buscar dependientes de la imagen en el estado actual de la forma y del elemento de modelo.

Si desea comportamiento especial como una imagen variable, puede crear dispone de la clase derivada de ImageField.

Para crear una subclase de ImageField

  1. Establezca la propiedad de Genera el doble derivado de la clase primaria de la forma en la definición del ADSL.

  2. Invalide el método de InitializeShapeFields de la clase shape.

    • Cree un nuevo archivo de código en el proyecto ADSL, y escriba una definición de clase parcial para la clase shape. Reemplace la definición de método allí.
  3. Inspeccione el código de InitializeShapeFields en DSL\GeneratedCode\Shapes.cs.

    En el método de reemplazo, llame al método base y cree una instancia de dispone de la clase de campo de bits. Utilice esto para reemplazar el campo de imagen regular en la lista de shapeFields .

Ejemplos

Este ejemplo crea que un icono cambia el dependiente en el elemento del modelo de la forma.

Nota de precauciónPrecaución

Este ejemplo muestra cómo crear un elemento decorator dinámico de la imagen.Pero si solo desea cambiar entre uno o dos imágenes dependiendo del estado de una variable modela, es más fácil crear varios elementos decorator de la imagen, se encuentra en la misma posición respecto a la forma, y establezca el filtro de Visibility para depender de valores específicos de la variable del modelo.Para establecer este filtro, seleccione la forma asignada en la definición de DSL, abra la ventana detalles de DSL, y haga clic en la ficha de Decorators.

Para ejecutar este código de ejemplo, cree una nueva solución ADSL utilizando la plantilla de lenguaje mínimos. Agregue una propiedad booleana AlternateState de dominio a la clase de dominio de ExampleElement. Agregue un elemento decorator de icono a la clase de ExampleShape, y establezca la imagen a un archivo de mapa de bits. Haga clic en Transformar todas las plantillas. Agregue un nuevo archivo de código en el proyecto ADSL, e inserte el código siguiente.

Para probar el código, presione F5 y, en la solución de depuración, abra un diagrama de ejemplo. El estado predeterminado de icono debe aparecer. Seleccione la forma y en la ventana Propiedades, cambie el valor de la propiedad de AlternateState . El icono deberá aparecer activado con 90 grados, en ella.

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

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.VisualStudio.Modeling.Diagrams (Espacio de nombres)

TextField

ShapeField

InitializeShapeFields