Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 | |
|---|---|---|
![]() |
TextField | Initialise une nouvelle instance de la classe de TextField. |
Début
Propriétés
| Nom | Description | |
|---|---|---|
![]() |
AnchoringBehavior | Décrit comment le contenu du champ doit positionner et se dimensionner jouez au ShapeElement parent. (Hérité de ShapeField.) |
![]() |
DefaultAccessibleDescription | Obtient ou définit la description accessible par défaut. (Hérité de ShapeField.) |
![]() |
DefaultAccessibleName | Obtient ou définit le nom par défaut du champ de forme pour l'objet accessible. (Hérité de ShapeField.) |
![]() |
DefaultAccessibleState | Passe l'état par défaut du champ de forme pour l'objet accessible. (Hérité de ShapeField.) |
![]() |
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. |
![]() |
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.) |
![]() |
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. |
![]() |
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.) |
![]() |
DefaultFontId | Obtient ou définit l'identification de la police par défaut |
![]() |
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.) |
![]() |
DefaultInactiveSelectedTextBrushId | Obtient ou définit l'identificateur par défaut de pinceau pour le texte sélectionné inactif. |
![]() |
DefaultIsHorizontal | Obtient ou définit l'état horizontal par défaut pour le texte. |
![]() |
DefaultMultipleLine | Si la valeur true, de texte elle se poursuit automatiquement au-dessus de la plusieurs ligne à s'ajuster à la largeur disponible. |
![]() |
DefaultPenId | Obtient ou définit l'IDENTIFICATEUR du stylet par défaut de l'utiliser pour le champ de forme. (Hérité de ShapeField.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
DefaultSelectedTextBrushId | Obtient ou définit l'identificateur par défaut de pinceau pour le texte sélectionné. |
![]() |
DefaultStringFormat | Obtient ou définit le format de chaîne par défaut pour le dessin de texte. |
![]() |
DefaultText | Obtient ou définit le texte par défaut pour dessiner. |
![]() |
DefaultTextBrushId | Obtient ou définit l'identificateur par défaut de pinceau pour le texte. |
![]() |
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.) |
![]() |
DisplayMember | Obtient ou définit le nom de la propriété que le texte affiché est associé avec. |
![]() |
DrawBorder | (Ne l'utilisez pas - sera changé) |
![]() |
FillBackground | (Ne l'utilisez pas - sera changé) |
![]() |
Name | Obtient le nom du champ de forme. (Hérité de ShapeField.) |
Début
Méthodes
| Nom | Description | |
|---|---|---|
![]() |
AccessibleDoDefaultAction | Exécute l'action par défaut pour l'objet accessible. (Hérité de ShapeField.) |
![]() |
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).) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
CanEditValue | Retourne une valeur indiquant si la valeur de ce champ peut être modifiée. (Substitue ShapeField.CanEditValue(ShapeElement, DiagramClientView).) |
![]() |
CommitPendingEdit | Valide la modification en attente. (Substitue ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView).) |
![]() |
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.) |
![]() |
DoKeyboardNavigation | Navigue dans le domaine de forme à l'aide du clavier. (Hérité de ShapeField.) |
![]() |
DoPaint | Dessine le champ de texte. (Substitue ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).) |
![]() |
EditValue(ShapeElement, DiagramClientView) | Appelle l'éditeur sur place. (Substitue ShapeField.EditValue(ShapeElement, DiagramClientView).) |
![]() |
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).) |
![]() |
EditValue(ShapeElement, DiagramClientView, String) | Appelle l'éditeur sur place, remplaçant le texte avec le texte spécifié. |
![]() |
Equals | Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.) |
![]() |
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.) |
![]() |
FindFirstChild | Recherche le premier champ enfant de forme dans le champ parent de forme. (Hérité de ShapeField.) |
![]() |
FindLastChild | Recherche le dernier champ enfant de forme dans le champ parent de forme. (Hérité de ShapeField.) |
![]() |
FindNextChild | Recherche le champ enfant suivant de forme dans le champ parent de forme. (Hérité de ShapeField.) |
![]() |
FindNextInChildSubFields | Recherche le champ enfant suivant de forme dans la séquence de navigation. (Hérité de ShapeField.) |
![]() |
FindPreviousChild | Recherche le champ enfant précédent de forme dans le champ parent de forme. (Hérité de ShapeField.) |
![]() |
FindPreviousInChildSubFields | Recherche le champ enfant précédent de forme dans la séquence de navigation. (Hérité de ShapeField.) |
![]() |
Focused | Obtient le champ de forme et le vérifie s'il a le focus. (Hérité de ShapeField.) |
![]() |
GetAccessibilityObject | Obtient l'objet d'accessibilité qui est assigné au champ de forme. (Hérité de ShapeField.) |
![]() |
GetAccessibleChild | Obtient l'objet d'Accessibility pour le champ enfant de forme. (Hérité de ShapeField.) |
![]() |
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.) |
![]() |
GetAccessibleDefaultActionDescription | Obtient l'objectif par défaut du champ de forme pour l'objet accessible. (Hérité de ShapeField.) |
![]() |
GetAccessibleDescription | Retourne la description accessible par défaut pour un champ de texte. (Substitue ShapeField.GetAccessibleDescription(ShapeElement).) |
![]() |
GetAccessibleHelp | Obtient l'aide de champ de forme pour l'objet accessible. (Hérité de ShapeField.) |
![]() |
GetAccessibleHelpTopicFileName | Obtient un sujet dans l'aide pour l'objet accessible. (Hérité de ShapeField.) |
![]() |
GetAccessibleHelpTopicId | Obtient l'IDENTIFICATEUR qui est assigné à la rubrique d'aide pour l'objet accessible. (Hérité de ShapeField.) |
![]() |
GetAccessibleName | Retourne le texte affiché comme nom accessible. (Substitue ShapeField.GetAccessibleName(ShapeElement).) |
![]() |
GetAccessibleRole | Extrait le rôle accessible de ce ShapeField. (Substitue ShapeField.GetAccessibleRole(ShapeElement).) |
![]() |
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).) |
![]() |
GetAccessibleValue | Retourne la valeur accessible. (Substitue ShapeField.GetAccessibleValue(ShapeElement).) |
![]() |
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).) |
![]() |
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. |
![]() |
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.) |
![]() |
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.) |
![]() |
GetBounds | Obtient les limites pour le champ de forme. (Hérité de ShapeField.) |
![]() |
GetCursor | Obtient le pointeur qui s'affiche lorsque la souris pointe vers le champ de forme. (Hérité de ShapeField.) |
![]() |
GetDisplayText | Obtient le texte pour être affiché par ce champ. |
![]() |
GetFocusable | Obtient le champ de forme et le vérifie s'il peut recevoir le focus. (Hérité de ShapeField.) |
![]() |
GetFont | Obtient la police à dessiner avec pour l'instance spécifiée de ShapeElement. |
![]() |
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. |
![]() |
GetFontId | Obtient l'identificateur de la police pour dessiner avec pour l'instance spécifiée de ShapeElement. |
![]() |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
![]() |
GetInPlaceEditorBounds | Obtient les limites pour l'éditeur sur place. (Hérité de ShapeField.) |
![]() |
GetMaximumInPlaceEditorSize | Par défaut, nous permettons au contrôle d'édition sur place pour redimensionner jusqu'à 75 personnages. (Substitue ShapeField.GetMaximumInPlaceEditorSize(ShapeElement).) |
![]() |
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).) |
![]() |
GetMinimumSize | Obtient la largeur minimale et le heightfor ce ShapeField dans des unités du monde (Substitue ShapeField.GetMinimumSize(ShapeElement).) |
![]() |
GetMultipleLine | Si la valeur true est affectée, le texte peut s'encapsuler sur la plusieurs ligne pour ajuster la largeur disponible. |
![]() |
GetPen | Obtient le stylet qui dessine l'élément de forme auquel le champ de forme est assigné. (Hérité de ShapeField.) |
![]() |
GetPenId | Obtient l'IDENTIFICATEUR du stylet qui dessine l'élément de forme auquel le champ de forme est assigné. (Hérité de ShapeField.) |
![]() |
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.) |
![]() |
GetSelectable | Obtient le champ de forme et le vérifie s'il peut être sélectionné. (Hérité de ShapeField.) |
![]() |
GetStringFormat | Obtient le format de chaîne pour dessiner le texte avec pour l'instance spécifiée de ShapeElement. |
![]() |
GetTextBrush | Obtient le pinceau pour dessiner le texte avec pour l'instance spécifiée de ShapeElement. |
![]() |
GetTextBrushId | Obtient l'identificateur du pinceau pour dessiner le texte avec pour l'instance spécifiée de ShapeElement. |
![]() |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
![]() |
GetValue | Obtient la valeur pour ce TextField. (Substitue ShapeField.GetValue(ShapeElement).) |
![]() |
GetValueDomainPropertyInfo | Obtient la propriété de domaine qui est assignée à la valeur dans le champ de forme. (Hérité de ShapeField.) |
![]() |
GetVisible | Obtient le champ de forme et le vérifie s'il apparaît. (Hérité de ShapeField.) |
![]() |
HasFocusedAppearance | Obtient le champ de forme et le vérifie s'il doit se avoir le focus. (Hérité de ShapeField.) |
![]() |
HasPendingEdit | Retourne une valeur indiquant si la modification sur place est actif, avec une validation en attente. (Substitue ShapeField.HasPendingEdit(ShapeElement, DiagramClientView).) |
![]() |
HasSelectedAppearance | Obtient le champ de forme et le vérifie s'il semble être sélectionné. (Hérité de ShapeField.) |
![]() |
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.) |
![]() |
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.) |
![]() |
MeasureDisplayText | Méthode d'assistance à la mesure de texte donnés. |
![]() |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
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.) |
![]() |
OnBeginEdit | Alerte des écouteurs lorsque la modification sur place a commencé. (Hérité de ShapeField.) |
![]() |
OnClick | Alerte des écouteurs lorsque l'utilisateur a cliqué un champ de forme. (Hérité de ShapeField.) |
![]() |
OnDoubleClick | Appelle la modification sur place par défaut. (Substitue ShapeField.OnDoubleClick(DiagramPointEventArgs).) |
![]() |
OnEndEdit | Alerte des écouteurs lorsque la modification sur place s'est achevée. (Hérité de ShapeField.) |
![]() |
OnKeyDown | Alerte des écouteurs lorsque l'utilisateur contenait une clé lorsque pointant vers un champ de forme. (Hérité de ShapeField.) |
![]() |
OnKeyPress | Appelle l'éditeur si le champ est modifiable et tout personnage alphanumérique est tapé. (Substitue ShapeField.OnKeyPress(DiagramKeyPressEventArgs).) |
![]() |
OnKeyUp | Alerte des écouteurs lorsque l'utilisateur a libéré une clé lorsque pointant vers un champ de forme. (Hérité de ShapeField.) |
![]() |
OnMouseDown | Alerte des écouteurs lorsque l'utilisateur maintient le pointage avec la souris un champ de forme. (Hérité de ShapeField.) |
![]() |
OnMouseMove | Alerte des écouteurs lorsque la souris a été déplacée sur un champ de forme. (Hérité de ShapeField.) |
![]() |
OnMouseUp | Alerte des écouteurs lorsque l'utilisateur a libéré le bouton de souris sur un champ de forme. (Hérité de ShapeField.) |
![]() |
OnMouseWheel | Alerte des écouteurs lorsque la souris a été faite pivoter sur un champ de forme. (Hérité de ShapeField.) |
![]() |
Selected | Obtient le champ de forme et le vérifie s'il est sélectionné. (Hérité de ShapeField.) |
![]() |
SetSelectionRange | Définit la sélection à une plage des champs enfants de forme. (Hérité de ShapeField.) |
![]() |
SetValue | Assigne la valeur spécifiée à un champ de forme. (Hérité de ShapeField.) |
![]() |
SetVisible | Définit la visibilité du champ de forme. (Hérité de ShapeField.) |
![]() |
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.
Attention |
|---|
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.
.gif)
.gif)
.gif)
Attention