Partager via


ImageField, classe

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

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.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.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 ImageField.
Méthode publique ImageField(String, Image) Initialise une nouvelle instance de la classe ImageField.

Début

Propriétés

  Nom Description
Propriété publique AnchoringBehavior Décrit comment le contenu du champ doit se positionner et se dimensionner en fonction du 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 Obtient 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'ID du pinceau par défaut utilisé 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 possibilité de recevoir le focus. (Hérité de ShapeField.)
Propriété publique DefaultImage Obtient ou définit l'image par défaut associée à ce ImageField.L'image par défaut peut être personnalisée en substituant la méthode GetDisplayImage.
Propriété publique DefaultInactiveSelectedBackgroundBrushId Obtient ou définit l'ID du pinceau d'arrière-plan par défaut pour le champ de la forme. (Hérité de ShapeField.)
Propriété publique DefaultPenId Obtient ou définit l'ID du stylet par défaut à utiliser pour le champ de la forme. (Hérité de ShapeField.)
Propriété publique DefaultReflectParentFocusedState Obtient le champ de la forme enfant et 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 de la forme enfant et vérifie s'il doit être sélectionné lorsque sa forme parente est activée ou définit la capacité de refléter l'état de sélection de sa forme parent. (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'ID du pinceau d'arrière-plan par défaut pour le champ de la forme. (Hérité de ShapeField.)
Propriété publique DefaultUnscaled Obtient ou définit une valeur indiquant si l'image doit être dessinée sans mise à l'échelle par rapport aux limites de ce champ ou si l'image doit être mise à l'échelle pour s'adapter aux limites.
Propriété publique DefaultVisibility Obtient le champ de forme et 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 à dimensionner automatiquement dans le champ de la 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 vérifie s'il peut être modifié. (Hérité de ShapeField.)
Méthode publique CommitPendingEdit Valide les modifications en attente. (Hérité de ShapeField.)
Méthode publique DoHitTest Exécute un test de positionnement sur un point spécifié du 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 la forme. (Hérité de ShapeField.)
Méthode publique EditValue(ShapeElement, DiagramClientView, PointD) Ouvre l'éditeur sur place pour le champ de la 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 Localise le premier champ de forme enfant dans le champ de forme parent. (Hérité de ShapeField.)
Méthode publique FindLastChild Localise le dernier champ de forme enfant dans le champ de forme parent. (Hérité de ShapeField.)
Méthode publique FindNextChild Localise le prochain champ de forme enfant dans le champ de forme parent. (Hérité de ShapeField.)
Méthode publique FindNextInChildSubFields Localise le champ de forme enfant suivant dans la séquence de navigation. (Hérité de ShapeField.)
Méthode publique FindPreviousChild Localise le premier champ de forme enfant précédent dans le champ de forme parent. (Hérité de ShapeField.)
Méthode publique FindPreviousInChildSubFields Localise le champ de forme enfant précédent dans la séquence de navigation. (Hérité de ShapeField.)
Méthode publique Focused Obtient le champ de forme et 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 la forme. (Hérité de ShapeField.)
Méthode publique GetAccessibleChild Obtient l'objet Accessibility pour le champ enfant de la forme. (Hérité de ShapeField.)
Méthode publique GetAccessibleChildCount Obtient le nombre d'objets Accessibility assignés au champ de forme parent et à ses champs de forme enfants. (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 du champ de forme pour l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetAccessibleHelpTopicFileName Obtient une rubrique de l'aide associée à l'objet accessible. (Hérité de ShapeField.)
Méthode publique GetAccessibleHelpTopicId Obtient l'ID assigné à la rubrique d'aide de 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 Obtient 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 de l'élément Shape auquel ce champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetBackgroundBrushId Obtient l'ID du pinceau qui dessine l'arrière-plan de l'élément Shape auquel ce champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetBounds Obtient les limites pour le champ de la forme. (Hérité de ShapeField.)
Méthode publique GetCursor Obtient le pointeur qui s'affiche lorsque la souris pointe sur le champ de forme. (Hérité de ShapeField.)
Méthode publique GetDisplayImage Obtient l'image devant être affichée par ce champ.
Méthode publique GetFocusable Obtient le champ de forme et vérifie s'il peut recevoir le focus. (Hérité de ShapeField.)
Méthode publique GetHashCode Sert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publique GetInPlaceEditorBounds Obtient les limites de l'éditeur sur place. (Hérité de ShapeField.)
Méthode publique GetMaximumInPlaceEditorSize Obtient les limites maximales de l'éditeur sur place. (Hérité de ShapeField.)
Méthode publique GetMinimumInPlaceEditorSize Obtient les limites minimales de 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 utilisé pour dessiner l'élément de forme auquel le champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetPenId Obtient l'ID du stylet utilisé pour dessiner l'élément Shape auquel le champ de forme est assigné. (Hérité de ShapeField.)
Méthode publique GetPotentialMouseAction Obtient l'action de la souris à activer lorsque l'utilisateur clique ensuite sur un point spécifique dans le diagramme. (Hérité de ShapeField.)
Méthode publique GetSelectable Obtient le champ de forme et 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 une valeur indiquant si l'image doit être dessinée ajustée ou non.
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 vérifie s'il apparaît. (Hérité de ShapeField.)
Méthode publique HasFocusedAppearance Obtient le champ de forme et vérifie s'il doit apparaître comme ayant le focus. (Hérité de ShapeField.)
Méthode publique HasPendingEdit Obtient le champ de forme et vérifie si son éditeur sur place est actif et si une modification est en attente. (Hérité de ShapeField.)
Méthode publique HasSelectedAppearance Obtient le champ de forme et vérifie s'il semble être sélectionné. (Hérité de ShapeField.)
Méthode publique IsNavigationKey(Char) Obtient la clé que l'utilisateur a utilisée et 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 utilisées par l'utilisateur et 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 sur le champ de forme précédent dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode publique NavigateDescend Déplace le focus sur le prochain champ 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 sur le 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 sur 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 sur le prochain champ 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 sur le champ de forme précédent dans la séquence de navigation pour les formes sélectionnées. (Hérité de ShapeField.)
Méthode protégée OnBeginEdit Avertit les écouteurs lorsque l'édition sur place a commencé. (Hérité de ShapeField.)
Méthode publique OnClick Avertit les écouteurs lorsque l'utilisateur a cliqué sur un champ de forme. (Hérité de ShapeField.)
Méthode publique OnDoubleClick Avertit les écouteurs lorsque l'utilisateur a double-cliqué sur un champ de forme. (Hérité de ShapeField.)
Méthode protégée OnEndEdit Avertit les écouteurs lorsque l'édition sur place est terminée. (Hérité de ShapeField.)
Méthode publique OnKeyDown Avertit les écouteurs lorsque l'utilisateur maintient une touche enfoncée tout en pointant un champ de forme avec la souris. (Hérité de ShapeField.)
Méthode publique OnKeyPress Avertit les écouteurs lorsque l'utilisateur a appuyé sur une touche tout en pointant un champ de forme avec la souris. (Hérité de ShapeField.)
Méthode publique OnKeyUp Avertit les écouteurs lorsque l'utilisateur a relâché une touche tout en pointant un champ de forme avec la souris. (Hérité de ShapeField.)
Méthode publique OnMouseDown Avertit les écouteurs lorsque l'utilisateur maintient le bouton de la souris enfoncé sur un champ de forme. (Hérité de ShapeField.)
Méthode publique OnMouseMove Avertit les écouteurs lorsque la souris a été déplacée sur un champ de forme. (Hérité de ShapeField.)
Méthode publique OnMouseUp Avertit les écouteurs lorsque l'utilisateur a relâché le bouton de la souris sur un champ de forme. (Hérité de ShapeField.)
Méthode publique OnMouseWheel Avertit les écouteurs lorsque la souris a été pivotée au-dessus un champ de forme. (Hérité de ShapeField.)
Méthode publique Selected Obtient le champ de forme et vérifie s'il est sélectionné. (Hérité de ShapeField.)
Méthode publique SetSelectionRange Définit la sélection sur une plage de champs de forme enfants. (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 décorateur image dans une forme, et lorsque vous définissez une forme de l'image, la zone de la page est affichée est géré par un ImageField. Pour obtenir des exemples de l'initialisation d'ImageFields et d'un autre ShapeFields, inspectez DSL GeneratedCode\\ Shapes.cs dans votre solution business DSL.

Un ImageField est un objet qui gère une zone dans une forme, telles que l'espace attribué à un décorateur. Une instance d'ImageField est partagée entre de nombreuses formes à la même classe de forme. L'instance de ImageField ne stocke pas une image distincte pour chaque forme : au lieu de cela, la méthode d'GetDisplayImage(ShapeElement) prend la forme en tant que paramètre, puis peut rechercher le de l'image sur l'état actuel de la forme et de son élément de modèle.

Si vous souhaitez que le comportement particulier telle 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é Génère un double dérivée de la classe parente de forme dans la définition de DSL.

  2. Substituez la méthode de InitializeShapeFields de la classe de forme.

    • Crée un nouveau fichier de code dans le projet de DSL, puis entrez une définition de classe partielle de la classe de forme. Remplacer la définition de la méthode.
  3. Inspectez le code d'InitializeShapeFields dans GeneratedCode DSL\\ Shapes.cs.

    Dans la 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 standard de l'image dans la liste des shapeFields.

Exemples

L'exemple réalise un dépend de modification de l'icône dans l'état de l'élément de modèle de la forme.

Avertissement

Cet exemple montre comment élaborer un décorateur d'image dynamique.Mais si vous souhaitez simplement basculer entre un ou deux images en fonction de l'état d'une variable de modèle, il est plus simple de créer plusieurs décorateurs image, les recherche dans la même position dans la zone, puis définit le filtre de visibilité pour dépendre des valeurs spécifiques de la variable de modèle.Pour définir le filtre, sélectionnez la carte de forme dans la définition de DSL, ouvrez la fenêtre détails de DSL, puis cliquez sur l'onglet de décorateurs.

Pour exécuter cet exemple de code, créez une nouvelle solution de DSL à l'aide de le modèle minimale de langage. Ajoutez une propriété de domaine AlternateState valeur booléenne de la classe de domaine d'ExampleElement. Ajoutez un décorateur d'icône à la classe d'ExampleShape, et définir son image dans un fichier bitmap. Cliquez sur Transformer tous les modèles. Ajoutez un nouveau fichier de code dans le projet de DSL, puis insérez le code suivant.

Pour tester le code, appuyez sur F5 et, dans la solution de débogage, ouvrez un exemple de schéma. L'état par défaut de l'icône doit apparaître. Sélectionnez la forme et dans la fenêtre des Propriétés, remplacez la valeur de la propriété AlternateState. L'icône doit ensuite être croisées dynamiquement à 90 degrés, sous la 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