Partager via


ImageField, classe

Objet léger qui représente une partie d'une forme qui peut les éléments décoratifs ou des arrière-plans d'image d'affichage.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Modeling.Diagrams
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)

Syntaxe

'Déclaration
Public Class ImageField _
    Inherits ShapeField
public class ImageField : ShapeField

Le type ImageField expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique ImageField(String) Initialise une nouvelle instance de la classe d'ImageField.
Méthode publique ImageField(String, Image) Initialise une nouvelle instance de la classe d'ImageField.

Début

Propriétés

  Nom Description
Propriété publique AnchoringBehavior Décrit comment le contenu du champ doit positionner et se dimensionner jouez au ShapeElement parent. (Hérité de ShapeField.)
Propriété publique DefaultAccessibleDescription Obtient ou définit la description accessible par défaut. (Hérité de ShapeField.)
Propriété publique DefaultAccessibleName Obtient ou définit le nom par défaut du champ de forme pour l'objet accessible. (Hérité de ShapeField.)
Propriété publique DefaultAccessibleState Passe l'état par défaut du champ de forme pour l'objet accessible. (Hérité de ShapeField.)
Propriété publique DefaultBackgroundBrushId Obtient ou définit l'IDENTIFICATEUR du pinceau par défaut pour peindre l'arrière-plan du champ de forme. (Hérité de ShapeField.)
Propriété publique DefaultFocusable Obtient le champ de forme et vérifie s'il peut recevoir le focus, ou donne au champ de forme la capacité de recevoir le focus. (Hérité de ShapeField.)
Propriété publique DefaultImage Obtient ou définit l'image par défaut associée à cet ImageField.L'image par défaut peut être personnalisée en substituant la méthode de GetDisplayImage.
Propriété publique DefaultInactiveSelectedBackgroundBrushId Obtient ou définit l'IDENTIFICATEUR du pinceau d'arrière-plan par défaut pour le champ de forme. (Hérité de ShapeField.)
Propriété publique DefaultPenId Obtient ou définit l'IDENTIFICATEUR du stylet par défaut de l'utiliser pour le champ de forme. (Hérité de ShapeField.)
Propriété publique DefaultReflectParentFocusedState Obtient le champ enfant de forme et le vérifie s'il doit recevoir le focus lorsque sa forme parente reçoit le focus ou définit la capacité de refléter l'état de focus de sa forme parente. (Hérité de ShapeField.)
Propriété publique DefaultReflectParentSelectedState Obtient le champ enfant de forme et le vérifie s'il doit être sélectionné lorsque sa forme parente est sélectionnée ou définit la capacité de refléter l'état de sélection de sa forme parente. (Hérité de ShapeField.)
Propriété publique DefaultSelectable Obtient le champ de forme et vérifie s'il peut être sélectionné par défaut ou définit l'état de sélection par défaut du champ de forme. (Hérité de ShapeField.)
Propriété publique DefaultSelectedBackgroundBrushId Obtient ou définit l'IDENTIFICATEUR du pinceau d'arrière-plan par défaut pour le champ de forme. (Hérité de ShapeField.)
Propriété publique DefaultUnscaled Obtient ou définit si l'image doit être effectuée ne sont pas mises à l'échelle en aux limites de ce champ ou l'image doit être mise à l'échelle pour ajuster les limites.
Propriété publique DefaultVisibility Obtient le champ de forme et le vérifie s'il apparaît par défaut ou définit la visibilité par défaut du champ de forme. (Hérité de ShapeField.)
Propriété publique Name Obtient le nom du champ de forme. (Hérité de ShapeField.)

Début

Méthodes

  Nom Description
Méthode publique AccessibleDoDefaultAction Exécute l'action par défaut pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique AllowInPlaceEditorAutoSize Active l'éditeur sur place à affecter automatiquement dans le domaine de forme. (Hérité de ShapeField.)
Méthode publique AssociateValueWith(Store, AssociatedPropertyInfo) Associe le champ de forme avec une propriété de domaine qui est assignée à un élément de forme. (Hérité de ShapeField.)
Méthode publique AssociateValueWith(Store, Guid) Associe le champ de forme avec une propriété de domaine qui est assignée à un élément de forme. (Hérité de ShapeField.)
Méthode publique AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Associe le champ de forme avec une propriété de domaine qui est assignée à un élément de forme. (Hérité de ShapeField.)
Méthode publique AssociateVisibilityWith(Store, AssociatedPropertyInfo) Associe la visibilité du champ de forme avec une propriété de domaine qui est assignée à un élément de forme. (Hérité de ShapeField.)
Méthode publique AssociateVisibilityWith(Store, Guid) Associe la visibilité du champ de forme avec une propriété de domaine qui est assignée à un élément de forme. (Hérité de ShapeField.)
Méthode publique AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Associe la visibilité du champ de forme avec une propriété de domaine qui est assignée à un élément de forme. (Hérité de ShapeField.)
Méthode publique CanEditValue Obtient le champ de forme et le vérifie s'il peut être modifié. (Hérité de ShapeField.)
Méthode publique CommitPendingEdit Valide la modification en attente. (Hérité de ShapeField.)
Méthode publique DoHitTest Effectue un test de positionnement sur un point spécifié dans le diagramme pour déterminer si le point se trouve dans les limites du champ de forme. (Hérité de ShapeField.)
Méthode publique DoKeyboardNavigation Navigue dans le domaine de forme à l'aide du clavier. (Hérité de ShapeField.)
Méthode publique DoPaint Dessine le contenu du ShapeField. (Substitue ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).)
Méthode publique EditValue(ShapeElement, DiagramClientView) Ouvre l'éditeur sur place pour le champ de forme. (Hérité de ShapeField.)
Méthode publique EditValue(ShapeElement, DiagramClientView, PointD) Ouvre l'éditeur sur place pour le champ de forme. (Hérité de ShapeField.)
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique FindFirstChild Recherche le premier champ enfant de forme dans le champ parent de forme. (Hérité de ShapeField.)
Méthode publique FindLastChild Recherche le dernier champ enfant de forme dans le champ parent de forme. (Hérité de ShapeField.)
Méthode publique FindNextChild Recherche le champ enfant suivant de forme dans le champ parent de forme. (Hérité de ShapeField.)
Méthode publique FindNextInChildSubFields Recherche le champ enfant suivant de forme dans la séquence de navigation. (Hérité de ShapeField.)
Méthode publique FindPreviousChild Recherche le champ enfant précédent de forme dans le champ parent de forme. (Hérité de ShapeField.)
Méthode publique FindPreviousInChildSubFields Recherche le champ enfant précédent de forme dans la séquence de navigation. (Hérité de ShapeField.)
Méthode publique Focused Obtient le champ de forme et le vérifie s'il a le focus. (Hérité de ShapeField.)
Méthode publique GetAccessibilityObject Obtient l'objet d'accessibilité qui est assigné au champ de forme. (Hérité de ShapeField.)
Méthode publique GetAccessibleChild Obtient l'objet d'Accessibility pour le champ enfant de forme. (Hérité de ShapeField.)
Méthode publique GetAccessibleChildCount Obtient le nombre d'objets d'Accessibility qui sont assignés au champ parent de forme et à ses champs enfants de forme. (Hérité de ShapeField.)
Méthode publique GetAccessibleDefaultActionDescription Obtient l'objectif par défaut du champ de forme pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetAccessibleDescription Retourne la description accessible par défaut pour un champ d'image. (Substitue ShapeField.GetAccessibleDescription(ShapeElement).)
Méthode publique GetAccessibleHelp Obtient l'aide de champ de forme pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetAccessibleHelpTopicFileName Obtient un sujet dans l'aide pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetAccessibleHelpTopicId Obtient l'IDENTIFICATEUR qui est assigné à la rubrique d'aide pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetAccessibleName Retourne le nom accessible par défaut pour un champ d'image. (Substitue ShapeField.GetAccessibleName(ShapeElement).)
Méthode publique GetAccessibleRole Extrait le rôle accessible de ce ShapeField. (Substitue ShapeField.GetAccessibleRole(ShapeElement).)
Méthode publique GetAccessibleState Passe l'état du champ de forme pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetAccessibleValue Obtient la valeur dans le champ de forme pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetActiveInPlaceEditor Obtient l'éditeur sur place qui est actif. (Hérité de ShapeField.)
Méthode publique GetBackgroundBrush Obtient le pinceau qui dessine l'arrière-plan pour l'élément de forme auquel ce champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetBackgroundBrushId Obtient l'IDENTIFICATEUR du pinceau qui dessine l'arrière-plan pour l'élément de forme auquel ce champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetBounds Obtient les limites pour le champ de forme. (Hérité de ShapeField.)
Méthode publique GetCursor Obtient le pointeur qui s'affiche lorsque la souris pointe vers le champ de forme. (Hérité de ShapeField.)
Méthode publique GetDisplayImage Obtient l'image pour être affiché par ce champ.
Méthode publique GetFocusable Obtient le champ de forme et le vérifie s'il peut recevoir le focus. (Hérité de ShapeField.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetInPlaceEditorBounds Obtient les limites pour l'éditeur sur place. (Hérité de ShapeField.)
Méthode publique GetMaximumInPlaceEditorSize Obtient les limites maximales l'éditeur sur place. (Hérité de ShapeField.)
Méthode publique GetMinimumInPlaceEditorSize Obtient les limites minimale pour l'éditeur sur place. (Hérité de ShapeField.)
Méthode publique GetMinimumSize Retourne la taille minimale de l'ImageField. (Substitue ShapeField.GetMinimumSize(ShapeElement).)
Méthode publique GetPen Obtient le stylet qui dessine l'élément de forme auquel le champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetPenId Obtient l'IDENTIFICATEUR du stylet qui dessine l'élément de forme auquel le champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetPotentialMouseAction Obtient l'action de souris d'activer lorsque les clics suivants d'utilisateur tape un point spécifique sur le diagramme. (Hérité de ShapeField.)
Méthode publique GetSelectable Obtient le champ de forme et le vérifie s'il peut être sélectionné. (Hérité de ShapeField.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique GetUnscaled Obtient, que l'image doit être dessiné ne sont pas mises à l'échelle ou pas.
Méthode publique GetValue Obtient la valeur dans le champ de forme. (Hérité de ShapeField.)
Méthode publique GetValueDomainPropertyInfo Obtient la propriété de domaine qui est assignée à la valeur dans le champ de forme. (Hérité de ShapeField.)
Méthode publique GetVisible Obtient le champ de forme et le vérifie s'il apparaît. (Hérité de ShapeField.)
Méthode publique HasFocusedAppearance Obtient le champ de forme et le vérifie s'il doit se avoir le focus. (Hérité de ShapeField.)
Méthode publique HasPendingEdit Obtient le champ de forme et le vérifie si son éditeur sur place est actif et une modification est en attente. (Hérité de ShapeField.)
Méthode publique HasSelectedAppearance Obtient le champ de forme et le vérifie s'il semble être sélectionné. (Hérité de ShapeField.)
Méthode publique IsNavigationKey(Char) Obtient la clé que l'utilisateur a appuyée sur et la vérifie si elle peut être utilisée pour naviguer entre les champs de forme. (Hérité de ShapeField.)
Méthode publique IsNavigationKey(Keys) Obtient les clés que l'utilisateur a appuyées sur et les vérifie si elles peuvent être utilisées pour naviguer entre les champs de forme. (Hérité de ShapeField.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique NavigateAscend Déplace le focus au champ précédent de forme dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode publique NavigateDescend Déplace le focus au champ suivant de forme dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode publique NavigateToFirst Déplace le focus au premier champ de forme dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode publique NavigateToLast Déplace le focus vers le dernier champ de forme dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode publique NavigateToNext Déplace le focus au champ suivant de forme dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode publique NavigateToPrevious Déplace le focus au champ précédent de forme dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode protégée OnBeginEdit Alerte des écouteurs lorsque la modification sur place a commencé. (Hérité de ShapeField.)
Méthode publique OnClick Alerte des écouteurs lorsque l'utilisateur a cliqué un champ de forme. (Hérité de ShapeField.)
Méthode publique OnDoubleClick Alerte des écouteurs lorsque l'utilisateur a double-cliquer un champ de forme. (Hérité de ShapeField.)
Méthode protégée OnEndEdit Alerte des écouteurs lorsque la modification sur place s'est achevée. (Hérité de ShapeField.)
Méthode publique OnKeyDown Alerte des écouteurs lorsque l'utilisateur contenait une clé lorsque pointant vers un champ de forme. (Hérité de ShapeField.)
Méthode publique OnKeyPress Alerte des écouteurs lorsque l'utilisateur a appuyé sur une clé lorsque pointant vers un champ de forme. (Hérité de ShapeField.)
Méthode publique OnKeyUp Alerte des écouteurs lorsque l'utilisateur a libéré une clé lorsque pointant vers un champ de forme. (Hérité de ShapeField.)
Méthode publique OnMouseDown Alerte des écouteurs lorsque l'utilisateur maintient le pointage avec la souris un champ de forme. (Hérité de ShapeField.)
Méthode publique OnMouseMove Alerte des écouteurs lorsque la souris a été déplacée sur un champ de forme. (Hérité de ShapeField.)
Méthode publique OnMouseUp Alerte des écouteurs lorsque l'utilisateur a libéré le bouton de souris sur un champ de forme. (Hérité de ShapeField.)
Méthode publique OnMouseWheel Alerte des écouteurs lorsque la souris a été faite pivoter sur un champ de forme. (Hérité de ShapeField.)
Méthode publique Selected Obtient le champ de forme et le vérifie s'il est sélectionné. (Hérité de ShapeField.)
Méthode publique SetSelectionRange Définit la sélection à une plage des champs enfants de forme. (Hérité de ShapeField.)
Méthode publique SetValue Assigne la valeur spécifiée à un champ de forme. (Hérité de ShapeField.)
Méthode publique SetVisible Définit la visibilité du champ de forme. (Hérité de ShapeField.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)

Début

Notes

Lorsque vous définissez un élément décoratif d'image dans une forme, et lorsque vous définissez une forme d'image, la zone dans laquelle la forme est affichée est géré par un ImageField.Pour obtenir des exemples de l'initialisation d'ImageFields et autre ShapeFields, inspectez DÉSOLÉ GeneratedCode \ \ Shapes.cs dans votre solution DÉSOLÉ.

Un ImageField est un objet qui gère une zone dans une forme, telle que l'espace assigné à un élément décoratif.Une instance d'ImageField est partagée entre de nombreux de formes de la même classe de forme.L'instance d'ImageField n'enregistre pas une image séparée pour chaque forme : à la place, la méthode d'GetDisplayImage(ShapeElement) prend la forme comme paramètre, et peut rechercher le dépendant d'image sur l'état actuel de la forme et de son élément de modèle.

Si vous souhaitez le comportement spéciaux tels qu'une image variable, vous pouvez créer votre propre classe dérivée d'ImageField.

Pour créer une sous-classe d'ImageField

  1. Définissez la propriété de Génère la dérivée double de la classe parente de forme dans votre définition de langage spécifique à un domaine.

  2. Substituez la méthode d'InitializeShapeFields de votre classe de forme.

    • Créez un nouveau fichier de code dans le projet DÉSOLÉ, puis écrivez une définition de classe partielle pour la classe de forme.Substituez la définition de méthode à cet endroit.
  3. Inspectez code d'InitializeShapeFields dans DÉSOLÉ GeneratedCode \ \ Shapes.cs.

    Dans votre méthode override, appelez la méthode de base puis créez une instance de votre propre classe de champ d'image.Utilisez cette option pour remplacer le champ normal d'image dans la liste d'shapeFields.

Exemples

Cet exemple fait un dépendant de modification d'icône sur l'état de l'élément de modèle de la forme.

Mise en gardeAttention

Cet exemple montre comment faire un élément décoratif dynamique d'image.Mais si vous souhaitez uniquement basculer entre un ou deux images selon l'état d'une variable de modèle, il est plus simple de créer plusieurs éléments décoratifs d'image, les localise dans la même position sur la forme, puis définit le filtre de visibilité à dépendre des valeurs spécifiques de la variable de modèle.Pour définir ce filtre, sélectionner le mappage de forme dans la définition DÉSOLÉ, ouvrir la fenêtre de détails DÉSOLÉ, puis cliquez sur l'onglet de éléments décoratifs.

Pour exécuter cet exemple de code, créez une nouvelle solution DÉSOLÉ à l'aide de le modèle minimal de langage.Ajoutez une propriété de domaine AlternateState de Boolean à la classe de domaine d'ExampleElement.Ajoutez un élément décoratif d'icône à la classe d'ExampleShape, et définissez son image à un fichier bitmap.Cliquez sur Transformer tous les modèles.Ajoutez un nouveau fichier de code dans le projet DÉSOLÉ, puis insérez code suivant.

Pour tester code, appuyez sur F5 et, dans la solution de débogage, ouvrez un diagramme d'exemple.L'état par défaut de l'icône doit apparaître.Sélectionnez la forme et dans la fenêtre Propriétés, modifient la valeur de la propriété de AlternateState.L'icône doit ensuite être pivotée à 90 degrés, sur cette forme.

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.Diagrams, espace de noms

TextField

ShapeField

InitializeShapeFields