TextField, classe

Objet léger qui représente une partie d'une forme qui peut des noms ou des zones de texte affiché.

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
    Microsoft.VisualStudio.Modeling.Diagrams.TextField
      Microsoft.VisualStudio.Modeling.Diagrams.LabelTextField

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

Le type TextField expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique TextField Initialise une nouvelle instance de la classe de TextField.

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 DefaultAutoSize Si la valeur true est affectée, le minimum du champ de texte enregistré la taille deviendra s'adaptent à la longueur du texte diplay.Les champs de texte d'Autosizable respecteront toujours la taille minimale spécifiée dans l'AnchoringBehavior.
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 DefaultCommitOnEscape Obtient ou définit une valeur indiquant si la touche ESCAPE valide la modification.Si la valeur true est affectée, la touche Entrée sera utilisée comme CRLF pour la modification sur place.
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 DefaultFontId Obtient ou définit l'identification de la police par défaut
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 DefaultInactiveSelectedTextBrushId Obtient ou définit l'identificateur par défaut de pinceau pour le texte sélectionné inactif.
Propriété publique DefaultIsHorizontal Obtient ou définit l'état horizontal par défaut pour le texte.
Propriété publique DefaultMultipleLine Si la valeur true, de texte elle se poursuit automatiquement au-dessus de la plusieurs ligne à s'ajuster à la largeur disponible.
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 DefaultSelectedTextBrushId Obtient ou définit l'identificateur par défaut de pinceau pour le texte sélectionné.
Propriété publique DefaultStringFormat Obtient ou définit le format de chaîne par défaut pour le dessin de texte.
Propriété publique DefaultText Obtient ou définit le texte par défaut pour dessiner.
Propriété publique DefaultTextBrushId Obtient ou définit l'identificateur par défaut de pinceau pour le texte.
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 DisplayMember Obtient ou définit le nom de la propriété que le texte affiché est associé avec.
Propriété publique DrawBorder (Ne l'utilisez pas - sera changé)
Propriété publique FillBackground (Ne l'utilisez pas - sera changé)
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 Par défaut, autorisez à l'éditeur sur place pour le dimensionner automatiquement si les prises en charge de champ redimensionnent automatiquement. (Substitue ShapeField.AllowInPlaceEditorAutoSize(ShapeElement).)
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 Retourne une valeur indiquant si la valeur de ce champ peut être modifiée. (Substitue ShapeField.CanEditValue(ShapeElement, DiagramClientView).)
Méthode publique CommitPendingEdit Valide la modification en attente. (Substitue ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView).)
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 champ de texte. (Substitue ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).)
Méthode publique EditValue(ShapeElement, DiagramClientView) Appelle l'éditeur sur place. (Substitue ShapeField.EditValue(ShapeElement, DiagramClientView).)
Méthode publique EditValue(ShapeElement, DiagramClientView, PointD) Appelle l'éditeur sur place, définissant le signe insertion à la position de la souris spécifiée. (Substitue ShapeField.EditValue(ShapeElement, DiagramClientView, PointD).)
Méthode publique EditValue(ShapeElement, DiagramClientView, String) Appelle l'éditeur sur place, remplaçant le texte avec le texte spécifié.
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 de texte. (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 texte affiché comme nom accessible. (Substitue ShapeField.GetAccessibleName(ShapeElement).)
Méthode publique GetAccessibleRole Extrait le rôle accessible de ce ShapeField. (Substitue ShapeField.GetAccessibleRole(ShapeElement).)
Méthode publique GetAccessibleState Extrait l'état accessible de ce TextField.Par défaut, le TextField est invisible aux clients d'accessibilité si le champ n'est pas pouvant et il n'existe aucun texte à s'afficher. (Substitue ShapeField.GetAccessibleState(ShapeElement, DiagramClientView).)
Méthode publique GetAccessibleValue Retourne la valeur accessible. (Substitue ShapeField.GetAccessibleValue(ShapeElement).)
Méthode publique GetActiveInPlaceEditor Retourne le contrôle pour l'éditeur sur place actif.Cette méthode peut retourner null dans ce cas, aucun éditeur sur place n'est actif pour ce champ. (Substitue ShapeField.GetActiveInPlaceEditor(ShapeElement, DiagramClientView).)
Méthode publique GetAutoSize Si la valeur true est affectée, la taille requise minimale du champ de texte sera s'adaptent à la longueur du texte diplay.Les champs de texte d'Autosizable respecteront toujours la taille minimale spécifiée dans l'AnchoringBehavior.
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 GetDisplayText Obtient le texte 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 GetFont Obtient la police à dessiner avec pour l'instance spécifiée de ShapeElement.
Méthode publique GetFontHeight Obtient l'interligne de cette police. (c. - à-d., la hauteur d'une ligne de texte) dans des unités du monde.L'interligne est l'extensibilité + jambage descendant + certains frais supplémentaires recommandés.L'extensibilité est la hauteur du personnage au-dessus de la ligne de base, et la réception est la hauteur du personnage au-dessous de la ligne de base.Des coûts supplémentaires sont sous la réception.
Méthode publique GetFontId Obtient l'identificateur de la police pour dessiner avec pour l'instance spécifiée de ShapeElement.
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 Par défaut, nous permettons au contrôle d'édition sur place pour redimensionner jusqu'à 75 personnages. (Substitue ShapeField.GetMaximumInPlaceEditorSize(ShapeElement).)
Méthode publique GetMinimumInPlaceEditorSize La taille minimale sur place d'éditeur est selon la largeur minimale dans les personnages et la hauteur dans les lignes. (Substitue ShapeField.GetMinimumInPlaceEditorSize(ShapeElement).)
Méthode publique GetMinimumSize Obtient la largeur minimale et le heightfor ce ShapeField dans des unités du monde (Substitue ShapeField.GetMinimumSize(ShapeElement).)
Méthode publique GetMultipleLine Si la valeur true est affectée, le texte peut s'encapsuler sur la plusieurs ligne pour ajuster la largeur disponible.
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 GetStringFormat Obtient le format de chaîne pour dessiner le texte avec pour l'instance spécifiée de ShapeElement.
Méthode publique GetTextBrush Obtient le pinceau pour dessiner le texte avec pour l'instance spécifiée de ShapeElement.
Méthode publique GetTextBrushId Obtient l'identificateur du pinceau pour dessiner le texte avec pour l'instance spécifiée de ShapeElement.
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique GetValue Obtient la valeur pour ce TextField. (Substitue ShapeField.GetValue(ShapeElement).)
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 Retourne une valeur indiquant si la modification sur place est actif, avec une validation en attente. (Substitue ShapeField.HasPendingEdit(ShapeElement, DiagramClientView).)
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 MeasureDisplayText Méthode d'assistance à la mesure de texte donnés.
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 Appelle la modification sur place par défaut. (Substitue ShapeField.OnDoubleClick(DiagramPointEventArgs).)
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 Appelle l'éditeur si le champ est modifiable et tout personnage alphanumérique est tapé. (Substitue ShapeField.OnKeyPress(DiagramKeyPressEventArgs).)
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 de texte dans une forme, elle est représentée par un TextField.Pour obtenir des exemples de l'initialisation de TextFields et autre ShapeFields, inspectez DÉSOLÉ GeneratedCode \ \ Shapes.cs dans votre solution DÉSOLÉ.

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

Comment l'apparence d'un champ de texte est déterminée

La méthode d'DoPaint() de valeur par défaut effectue ces tâches.C'est une présentation simplifiée de son code :

// Simplified version:
public override void DoPaint(DiagramPaintEventArgs e, ShapeElement parentShape)
{ 
  string text = GetDisplayText(shape); 
  StringFormat format = GetStringFormat(parentShape);
  Brush brush = GetTextBrush(e.View, shape);
  using (Font font = GetFont(shape))
  {
    e.Graphics.DrawString(text, font, brush, format);
  }
}
// StringFormat determines whether the string is centered etc.
// To customize statically for all instances of this shape field, 
// assign to DefaultStringFormat.
// To customize dynamically or per shape, override this:  
public virtual StringFormat GetStringFormat(ShapeElement shape)
{ return DefaultStringFormat; }

// Override to customize the displayed string:
public virtual string GetDisplayText(ShapeElement shape)
{ return this.GetValue(shape).ToString(); }

// Brush determines the text color.
// To change the brush for every field, change the shape’s styleset. 
// To customize to a brush in the style set, override GetTextBrushId.
// To change the brush to non-standard color, override this.
// Should take account of whether selected. 
public virtual Brush GetTextBrush(DiagramClientView view, ShapeElement shape)
{ return shape.StyleSet.GetBrush(this.GetTextBrushId(view, shape)); }

// Brush ID selects a brush from a StyleSet.
// Either return a member of DiagramBrushes 
// or add your own brush to the shape or application’s styleset.
// Override this to change dynamically or per instance.
// To change statically, just assign to default values. 
public virtual StyleSetResourceId GetTextBrushId(DiagramClientView view, ShapeElement shape)
{ return IsSelected(view, shape) ? (view.Focused ? DefaultSelectedTextBrushId
: DefaultInactiveSelectedTextBrushId ) : DefaultTextBrushId ;
}

// Font determines the shape and size of the text.
// To change the font for every field, change the shape’s styleset. 
// To customize to a font in the style set, override GetFontId.
// To change the font to a non-standard font, override this. 
public virtual Font GetFont(ShapeElement shape)
{ return shape.StyleSet.GetFont(GetFontId(shape)); }

// Selects a font from a styleset.
// Either return a member of DiagramFonts or 
// add your own font to the shape or application’s styleset.
// To change statically for all instances of this field, 
// assign to DefaultFontId.
// To change per shape or dynamically, override this. 
public virtual StyleSetResourceId GetFontId(ShapeElement parentShape)
{ return DefaultFontId; }

Il existe plusieurs autres paires de méthodes d'Get et de propriétés d'Default, telles qu'DefaultMultipleLine/GetMultipleLine().Vous pouvez assigner une valeur à la propriété par défaut pour modifier la valeur pour toutes les instances du champ de forme.Pour permettre la valeur à varier d'une instance de forme à l'autre, ou le dépendant sur l'état de la forme ou de son élément de modèle, substituez la méthode d'Get.

Personnalisations statiques

Si vous souhaitez modifier chaque instance de ce champ de forme, les premiers déterminent si vous pouvez définir la propriété dans la définition de langage spécifique à un domaine.Par exemple, vous pouvez définir la taille de police et le style dans la fenêtre Propriétés.

Substituez sinon, la méthode d'InitializeShapeFields de votre classe de forme, et assignez une valeur à la propriété appropriée d'Default... du champ de texte.

Mise en gardeAttention

Pour substituer InitializeShapeFields(), vous devez définir la propriété de Génère la dérivée double de la classe de forme à true dans la définition de langage spécifique à un domaine.

Dans cet exemple, une forme a un champ de texte qui sera utilisé pour les commentaires de l'utilisateur.Nous souhaitons utiliser la police standarde de commentaire.Comme il s'agit d'une police standard de l'ensemble de style, nous pouvons définir l'identificateur de la police par défaut :

 partial class ExampleShape
{   protected override void InitializeShapeFields(IList<ShapeField> shapeFields)
    {
      // Fields set up according to DSL Definition:
      base.InitializeShapeFields(shapeFields);
      // Find and update comment field:
      TextField commentField = ShapeElement.FindShapeField(shapeFields, "CommentDecorator") as TextField;
      // Use the standard font for comments:
      commentField.DefaultFontId = DiagramFonts.CommentText;

Personnalisations dynamiques

Pour faire l'apparence varier le dépendant sur l'état d'une forme ou de son élément de modèle, dérivez votre propre sous-classe d'TextField et substituez une ou plusieurs méthodes d'Get...Vous devez également substituer la méthode d'InitializeShapeFields de votre forme, puis remplacez l'instance du TextField par une instance de votre propre classe.

L'exemple suivant fait la police d'un dépendant de champ de texte sur l'état d'une propriété de domaine booléenne de l'élément de modèle de la forme.

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.La police du nom d'élément doit changer.

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>
    protected override void InitializeShapeFields(IList<ShapeField> shapeFields)
    {
      // Fields set up according to DSL Definition:
      base.InitializeShapeFields(shapeFields);
      // Replace the text field for NameDecorator:
      TextField oldField = ShapeElement.FindShapeField(shapeFields, "NameDecorator") as TextField;
      shapeFields.Remove(oldField);
      // Replace with my text field based on DSL Definition values:
      MyTextField newField = new MyTextField(oldField);
      shapeFields.Add(newField);
    }
  }
  /// <summary>
  /// Dynamic font depends on state of model element.
  /// </summary>
  public class MyTextField : TextField
  {
    public MyTextField(TextField prototype)
      : base(prototype.Name)
    {
      DefaultText = prototype.DefaultText;
      DefaultFocusable = prototype.DefaultFocusable;
      DefaultAutoSize = prototype.DefaultAutoSize;
      AnchoringBehavior.MinimumHeightInLines = prototype.AnchoringBehavior.MinimumHeightInLines;
      AnchoringBehavior.MinimumWidthInCharacters = prototype.AnchoringBehavior.MinimumWidthInCharacters;
      DefaultAccessibleState = prototype.DefaultAccessibleState;
    }

    public override System.Drawing.Font GetFont(ShapeElement parentShape)
    {
      // Access the Boolean domain property of the model element:
      if ((parentShape.ModelElement as ExampleElement).AlternateState)
        return new System.Drawing.Font("Callisto", 14.0f,
               System.Drawing.FontStyle.Italic | 
               System.Drawing.FontStyle.Bold);
      else
        return base.GetFont(parentShape);
    }

  }

Appliquez les ensembles

L'exemple précédent montre comment vous pouvez modifier le champ de texte à toute police qui est disponible.Toutefois, une méthode est préférable de le modifier à une d'un jeu de styles qui est associé à l'aide de la forme ou avec l'application.Pour ce faire, vous substituez l'GetFontId ou le GetTextBrushId ().

Ou bien, envisagez de modifier le style défini de votre forme en substituant l'InitializeResources.Cela présente l'effet de modifier les polices et les pinceaux pour tous les champs de forme.

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

InitializeShapeFields

StyleSet

ShapeField