Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Objeto ligero que representa una parte de una forma que puede mostrar etiquetas de texto o áreas.
Jerarquía de herencia
System.Object
Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
Microsoft.VisualStudio.Modeling.Diagrams.TextField
Microsoft.VisualStudio.Modeling.Diagrams.LabelTextField
Espacio de nombres: Microsoft.VisualStudio.Modeling.Diagrams
Ensamblado: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (en Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)
Sintaxis
'Declaración
Public Class TextField _
Inherits ShapeField
public class TextField : ShapeField
El tipo TextField expone los siguientes miembros.
Constructores
| Nombre | Descripción | |
|---|---|---|
![]() |
TextField | Inicializa una nueva instancia de la clase de TextField. |
Arriba
Propiedades
| Nombre | Descripción | |
|---|---|---|
![]() |
AnchoringBehavior | Describe cómo el contenido del campo debe colocar y el tamaño propio en relación con el ShapeElement primario. (Se hereda de ShapeField). |
![]() |
DefaultAccessibleDescription | obtiene o establece la descripción accesible predeterminada. (Se hereda de ShapeField). |
![]() |
DefaultAccessibleName | Obtiene o establece el nombre predeterminado del campo de la forma del objeto accesible. (Se hereda de ShapeField). |
![]() |
DefaultAccessibleState | Obtiene el estado de campo predeterminada de formas para el objeto accesible. (Se hereda de ShapeField). |
![]() |
DefaultAutoSize | Si es true, el mínimo del campo de texto que el tamaño vendrá contiene la longitud del texto diplay.Los campos de texto de Autosizable todavía respetarán el tamaño mínimo especificado en el AnchoringBehavior. |
![]() |
DefaultBackgroundBrushId | Obtiene o establece el identificador de pincel predeterminado para pintar el fondo del campo de la forma. (Se hereda de ShapeField). |
![]() |
DefaultCommitOnEscape | Obtiene o establece un valor que indica si la tecla ESC confirma la edición.Si es true, la tecla ENTRAR se utilizará como CRLF para la edición en contexto. |
![]() |
DefaultFocusable | Obtiene el campo de la forma y comprueba si puede recibir el foco, o proporciona al campo de la forma la capacidad de recibir el foco. (Se hereda de ShapeField). |
![]() |
DefaultFontId | Obtiene o establece el identificador de fuente predeterminado |
![]() |
DefaultInactiveSelectedBackgroundBrushId | Obtiene o establece el identificador de pincel predeterminado del fondo para el campo de la forma. (Se hereda de ShapeField). |
![]() |
DefaultInactiveSelectedTextBrushId | Obtiene o establece el id. predeterminado de pincel para el texto seleccionado inactivo. |
![]() |
DefaultIsHorizontal | Obtiene o establece el estado horizontal predeterminada para el texto. |
![]() |
DefaultMultipleLine | Si es true, el texto se ajusta automáticamente a más de una línea a caber en el ancho disponible. |
![]() |
DefaultPenId | Obtiene o establece el identificador de lápiz predeterminado para utilizar en la forma. (Se hereda de ShapeField). |
![]() |
DefaultReflectParentFocusedState | Obtiene el campo de la forma secundaria y comprueba si debe recibir el foco cuando su forma primaria recibe el foco o establece la capacidad para reflejar el estado del foco de su forma primaria. (Se hereda de ShapeField). |
![]() |
DefaultReflectParentSelectedState | Obtiene el campo de la forma secundaria y comprueba si debe estar seleccionada cuando su forma primaria es seleccionado o establece la capacidad para reflejar el estado de selección de su forma primaria. (Se hereda de ShapeField). |
![]() |
DefaultSelectable | Obtiene el campo de la forma y comprueba si puede estar seleccionada de forma predeterminada o establece el estado de selección de campo predeterminada de la forma. (Se hereda de ShapeField). |
![]() |
DefaultSelectedBackgroundBrushId | Obtiene o establece el identificador de pincel predeterminado del fondo para el campo de la forma. (Se hereda de ShapeField). |
![]() |
DefaultSelectedTextBrushId | Obtiene o establece el id. predeterminado de pincel para el texto seleccionado. |
![]() |
DefaultStringFormat | Obtiene o establece el formato predeterminado de cadena para el gráfico de texto. |
![]() |
DefaultText | Obtiene o establece el texto predeterminado para dibujar. |
![]() |
DefaultTextBrushId | Obtiene o establece el id. predeterminado de pincel para el texto. |
![]() |
DefaultVisibility | Obtiene el campo de la forma y compruebe si aparece de forma predeterminada o establece la visibilidad de campo predeterminada de la forma. (Se hereda de ShapeField). |
![]() |
DisplayMember | Obtiene o establece el nombre de propiedad con el que el texto visualizado es asociado. |
![]() |
DrawBorder | (No utilice - se convertirá) |
![]() |
FillBackground | (No utilice - se convertirá) |
![]() |
Name | Obtiene el nombre del campo de la forma. (Se hereda de ShapeField). |
Arriba
Métodos
| Nombre | Descripción | |
|---|---|---|
![]() |
AccessibleDoDefaultAction | Realiza la acción predeterminada del objeto accesible. (Se hereda de ShapeField). |
![]() |
AllowInPlaceEditorAutoSize | De forma predeterminada, permita el editor en contexto para dimensionar automáticamente si el campo admite el ajuste tamaño automático. (Invalida a ShapeField.AllowInPlaceEditorAutoSize(ShapeElement)). |
![]() |
AssociateValueWith(Store, AssociatedPropertyInfo) | Asocia el campo de la forma a una propiedad de dominio asignado a un elemento de la forma. (Se hereda de ShapeField). |
![]() |
AssociateValueWith(Store, Guid) | Asocia el campo de la forma a una propiedad de dominio asignado a un elemento de la forma. (Se hereda de ShapeField). |
![]() |
AssociateValueWith(Store, Guid, AssociatedPropertyInfo) | Asocia el campo de la forma a una propiedad de dominio asignado a un elemento de la forma. (Se hereda de ShapeField). |
![]() |
AssociateVisibilityWith(Store, AssociatedPropertyInfo) | Asocia la visibilidad del campo de la forma a una propiedad de dominio asignado a un elemento de la forma. (Se hereda de ShapeField). |
![]() |
AssociateVisibilityWith(Store, Guid) | Asocia la visibilidad del campo de la forma a una propiedad de dominio asignado a un elemento de la forma. (Se hereda de ShapeField). |
![]() |
AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) | Asocia la visibilidad del campo de la forma a una propiedad de dominio asignado a un elemento de la forma. (Se hereda de ShapeField). |
![]() |
CanEditValue | Devuelve un valor que indica si el valor de este campo se pueda editar. (Invalida a ShapeField.CanEditValue(ShapeElement, DiagramClientView)). |
![]() |
CommitPendingEdit | Confirma la edición pendiente. (Invalida a ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView)). |
![]() |
DoHitTest | Realiza una prueba de posicionamiento en un punto especificado en el diagrama para determinar si el punto está en los límites del campo de la forma. (Se hereda de ShapeField). |
![]() |
DoKeyboardNavigation | Navega al campo de la forma mediante el teclado. (Se hereda de ShapeField). |
![]() |
DoPaint | Dibuja el campo de texto. (Invalida a ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)). |
![]() |
EditValue(ShapeElement, DiagramClientView) | invoca el editor en contexto. (Invalida a ShapeField.EditValue(ShapeElement, DiagramClientView)). |
![]() |
EditValue(ShapeElement, DiagramClientView, PointD) | Invoca el editor en contexto, estableciendo el símbolo de intercalación mediante la posición especificada del mouse. (Invalida a ShapeField.EditValue(ShapeElement, DiagramClientView, PointD)). |
![]() |
EditValue(ShapeElement, DiagramClientView, String) | invoca el editor en contexto, reemplazando el texto con el texto especificado. |
![]() |
Equals | Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object). |
![]() |
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
![]() |
FindFirstChild | Busque el primer campo de forma secundaria en el campo primario de la forma. (Se hereda de ShapeField). |
![]() |
FindLastChild | Busque el último campo de forma secundaria en el campo primario de la forma. (Se hereda de ShapeField). |
![]() |
FindNextChild | Busque el siguiente campo de forma secundaria en el campo primario de la forma. (Se hereda de ShapeField). |
![]() |
FindNextInChildSubFields | Busque el siguiente campo de forma secundaria en la secuencia de navegación. (Se hereda de ShapeField). |
![]() |
FindPreviousChild | Busque el campo anterior de la forma secundaria en el campo primario de la forma. (Se hereda de ShapeField). |
![]() |
FindPreviousInChildSubFields | Busque el campo anterior de la forma secundaria en la secuencia de navegación. (Se hereda de ShapeField). |
![]() |
Focused | Obtiene el campo de la forma y comprueba si tiene el foco. (Se hereda de ShapeField). |
![]() |
GetAccessibilityObject | Obtiene el objeto de accesibilidad que se asigna al campo de la forma. (Se hereda de ShapeField). |
![]() |
GetAccessibleChild | Obtiene el objeto de accesibilidad en la forma secundaria. (Se hereda de ShapeField). |
![]() |
GetAccessibleChildCount | Obtiene el número de objetos de accesibilidad están asignados al campo primario de la forma y sus campos de forma secundaria. (Se hereda de ShapeField). |
![]() |
GetAccessibleDefaultActionDescription | Obtiene el propósito predeterminado del campo de la forma del objeto accesible. (Se hereda de ShapeField). |
![]() |
GetAccessibleDescription | devuelve la descripción accesible predeterminada para un campo de texto. (Invalida a ShapeField.GetAccessibleDescription(ShapeElement)). |
![]() |
GetAccessibleHelp | Obtiene la Ayuda de los campos de la forma del objeto accesible. (Se hereda de ShapeField). |
![]() |
GetAccessibleHelpTopicFileName | Obtiene un tema de la Ayuda del objeto accesible. (Se hereda de ShapeField). |
![]() |
GetAccessibleHelpTopicId | Obtiene el identificador asignado al tema de Ayuda del objeto accesible. (Se hereda de ShapeField). |
![]() |
GetAccessibleName | Devuelve el texto de presentación como nombre accesible. (Invalida a ShapeField.GetAccessibleName(ShapeElement)). |
![]() |
GetAccessibleRole | recupera el rol accesible de este ShapeField. (Invalida a ShapeField.GetAccessibleRole(ShapeElement)). |
![]() |
GetAccessibleState | Recupera el estado accesible de este TextField.De forma predeterminada, el TextField no es visible para los clientes de accesibilidad si el campo no es de que pueda recibir y no hay texto a mostrar. (Invalida a ShapeField.GetAccessibleState(ShapeElement, DiagramClientView)). |
![]() |
GetAccessibleValue | devuelve el valor accesible. (Invalida a ShapeField.GetAccessibleValue(ShapeElement)). |
![]() |
GetActiveInPlaceEditor | Devuelve el control para el editor de contexto activo.Este método puede devolver null, en cuyo caso no existen editor en contexto activo para este campo. (Invalida a ShapeField.GetActiveInPlaceEditor(ShapeElement, DiagramClientView)). |
![]() |
GetAutoSize | Si es true, el tamaño mínimo de campo de texto vendrá contiene la longitud del texto diplay.Los campos de texto de Autosizable todavía respetarán el tamaño mínimo especificado en el AnchoringBehavior. |
![]() |
GetBackgroundBrush | Obtiene el pincel que dibuja el fondo del elemento de la forma al que está asignado este campo de forma. (Se hereda de ShapeField). |
![]() |
GetBackgroundBrushId | Obtiene el identificador del pincel que dibuja el fondo del elemento de la forma al que está asignado este campo de forma. (Se hereda de ShapeField). |
![]() |
GetBounds | obtiene los límites para el campo de la forma. (Se hereda de ShapeField). |
![]() |
GetCursor | Obtiene el puntero que se produce cuando el mouse está señalando al campo de la forma. (Se hereda de ShapeField). |
![]() |
GetDisplayText | obtiene el texto que se mostrará por este campo. |
![]() |
GetFocusable | Obtiene el campo de la forma y comprueba si puede recibir el foco. (Se hereda de ShapeField). |
![]() |
GetFont | Obtiene la fuente para dibujar con para la instancia especificada de ShapeElement. |
![]() |
GetFontHeight | Obtiene el interlineado de esta fuente (es decir, el alto de una línea de texto) en unidades universal.El interlineado es el ascenso + la pendiente + algún extensor recomendado.La subida es el alto de caracteres sobre la línea base, y la pendiente es el alto del carácter debajo de la línea base.El objeto está bajo la pendiente. |
![]() |
GetFontId | Obtiene el id. de la fuente para dibujar con para la instancia especificada de ShapeElement. |
![]() |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
![]() |
GetInPlaceEditorBounds | Obtiene los límites para el editor de contexto. (Se hereda de ShapeField). |
![]() |
GetMaximumInPlaceEditorSize | De forma predeterminada, permitimos que el control de edición en contexto cambie el tamaño de hasta 75 caracteres. (Invalida a ShapeField.GetMaximumInPlaceEditorSize(ShapeElement)). |
![]() |
GetMinimumInPlaceEditorSize | El tamaño de contexto mínimo del editor se basa en ancho mínimo en caracteres y alto en líneas. (Invalida a ShapeField.GetMinimumInPlaceEditorSize(ShapeElement)). |
![]() |
GetMinimumSize | Obtiene el ancho mínimo y el heightfor este ShapeField en unidades universal (Invalida a ShapeField.GetMinimumSize(ShapeElement)). |
![]() |
GetMultipleLine | Si es true, el texto se puede ajustar a más de una línea para ajustar el ancho disponible. |
![]() |
GetPen | Obtiene el lápiz que dibuja el elemento de la forma al que se asigna el campo de la forma. (Se hereda de ShapeField). |
![]() |
GetPenId | Obtiene el identificador de lápiz que dibuja el elemento de la forma al que se asigna el campo de la forma. (Se hereda de ShapeField). |
![]() |
GetPotentialMouseAction | Obtiene la acción del mouse para activar cuando el usuario haga clic en un punto concreto en el diagrama. (Se hereda de ShapeField). |
![]() |
GetSelectable | Obtiene el campo de la forma y comprueba si se puede seleccionar. (Se hereda de ShapeField). |
![]() |
GetStringFormat | Obtiene el formato de la cadena para dibujar texto con para la instancia especificada de ShapeElement. |
![]() |
GetTextBrush | Obtiene el pincel para dibujar texto con para la instancia especificada de ShapeElement. |
![]() |
GetTextBrushId | Obtiene el id. del pincel para dibujar texto con para la instancia especificada de ShapeElement. |
![]() |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
![]() |
GetValue | obtiene el valor para este TextField. (Invalida a ShapeField.GetValue(ShapeElement)). |
![]() |
GetValueDomainPropertyInfo | Obtiene la propiedad de dominio que se asigna al valor en el campo de la forma. (Se hereda de ShapeField). |
![]() |
GetVisible | Obtiene el campo de la forma y compruebe si aparece. (Se hereda de ShapeField). |
![]() |
HasFocusedAppearance | Obtiene el campo de la forma y comprueba si debe aparecer tenga el foco. (Se hereda de ShapeField). |
![]() |
HasPendingEdit | Devuelve un valor que indica si la edición en contexto activo, con una confirmación pendiente. (Invalida a ShapeField.HasPendingEdit(ShapeElement, DiagramClientView)). |
![]() |
HasSelectedAppearance | Obtiene el campo de la forma y comprueba si parece ser seleccionado. (Se hereda de ShapeField). |
![]() |
IsNavigationKey(Char) | Obtiene la clave que el usuario presionó y comprueba si se puede utilizar para navegar entre los campos de la forma. (Se hereda de ShapeField). |
![]() |
IsNavigationKey(Keys) | Obtiene las claves que el usuario presionó y comprueba si se pueden utilizar para navegar entre los campos de la forma. (Se hereda de ShapeField). |
![]() |
MeasureDisplayText | Método auxiliar al texto determinado medida. |
![]() |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
![]() |
NavigateAscend | Mueve el foco al campo anterior de la forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField). |
![]() |
NavigateDescend | Mueve el foco al campo siguiente de la forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField). |
![]() |
NavigateToFirst | Mueve el foco al primer campo de forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField). |
![]() |
NavigateToLast | Mueve el foco al último campo de la forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField). |
![]() |
NavigateToNext | Mueve el foco al campo siguiente de la forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField). |
![]() |
NavigateToPrevious | Mueve el foco al campo anterior de la forma en la secuencia de navegación para las formas seleccionadas. (Se hereda de ShapeField). |
![]() |
OnBeginEdit | Alerta agentes de escucha cuando ha comenzado la edición en contexto. (Se hereda de ShapeField). |
![]() |
OnClick | Alerta agentes de escucha cuando el usuario hace clic en un campo de la forma. (Se hereda de ShapeField). |
![]() |
OnDoubleClick | Invoca la edición en contexto de forma predeterminada. (Invalida a ShapeField.OnDoubleClick(DiagramPointEventArgs)). |
![]() |
OnEndEdit | Alerta agentes de escucha cuando la edición en contexto ha finalizado. (Se hereda de ShapeField). |
![]() |
OnKeyDown | Alerta agentes de escucha cuando el usuario se ha mantenido una clave cuando señala a un campo de la forma. (Se hereda de ShapeField). |
![]() |
OnKeyPress | Invoca el editor si el campo es modificable y se escribe cualquier carácter alfanumérico. (Invalida a ShapeField.OnKeyPress(DiagramKeyPressEventArgs)). |
![]() |
OnKeyUp | Alerta agentes de escucha cuando el usuario ha liberado una clave cuando señala a un campo de la forma. (Se hereda de ShapeField). |
![]() |
OnMouseDown | Alerta agentes de escucha cuando el usuario mantiene el mouse sobre un campo de la forma. (Se hereda de ShapeField). |
![]() |
OnMouseMove | Alerta agentes de escucha cuando el mouse se ha movido de un campo de la forma. (Se hereda de ShapeField). |
![]() |
OnMouseUp | Alerta agentes de escucha cuando el usuario libera el botón del mouse sobre un campo de la forma. (Se hereda de ShapeField). |
![]() |
OnMouseWheel | Alerta agentes de escucha cuando el mouse se ha convertido a un campo de la forma. (Se hereda de ShapeField). |
![]() |
Selected | Obtiene el campo de la forma y comprueba si está seleccionado. (Se hereda de ShapeField). |
![]() |
SetSelectionRange | Establece la selección en un intervalo de campos de la forma secundaria. (Se hereda de ShapeField). |
![]() |
SetValue | Asigna el valor especificado en un campo de la forma. (Se hereda de ShapeField). |
![]() |
SetVisible | Establece la visibilidad del campo de la forma. (Se hereda de ShapeField). |
![]() |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Comentarios
Cuando se define un elemento decorator de texto en una forma, se representa mediante un TextField.Para obtener ejemplos de inicialización de TextFields y otros ShapeFields, inspeccione la solución de ADSL \GeneratedCode\Shapes.cs in your DSL.
Un TextField es un objeto que administra un área dentro de una forma, como el espacio asignado a una etiqueta.Una instancia de TextField comparten muchas formas de la misma clase.la instancia de TextField no almacena el texto de la etiqueta por separado para cada instancia: en su lugar, el método de GetDisplayText(ShapeElement) toma la forma como parámetro y, puede buscar el dependiente de texto en el estado actual de la forma y del elemento de modelo.
cómo el aspecto de un campo de texto se determina
El método de DoPaint() predeterminado realiza estas tareas.Ésta es una presentación simplificada del código:
// 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; }
Hay otros pares de métodos de Get y propiedades de Default , como DefaultMultipleLine/GetMultipleLine().Puede asignar un valor a la propiedad predeterminada para cambiar el valor de todas las instancias del campo de la forma.Para que el valor varían de una instancia de una forma a otra, o el dependiente en el estado de la forma o su elemento de modelo, invalide el método de Get .
personalizaciones estáticas
Si desea cambiar cada instancia de este campo de la forma, el primer averigüe si puede establecer la propiedad en la definición del ADSL.Por ejemplo, puede establecer el tamaño de fuente y estilo en la ventana Propiedades.
Si no, entonces invalide el método de InitializeShapeFields de la clase shape, y asignar un valor a la propiedad correspondiente de Default... de campo de texto.
Precaución |
|---|
Para reemplazar InitializeShapeFields(), debe establecer la propiedad de genera derivado doble de la clase shape a true en la definición del ADSL. |
En este ejemplo, la forma tiene un campo de texto que se utiliza para los comentarios del usuario.Deseamos utilizar la fuente estándar de comentario.Porque es una fuente estándar del estilo, podemos establecer el identificador de fuente predeterminado:
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;
personalizaciones dinámicas
Para que el aspecto varía según el estado de una forma o su elemento de modelo, derive la propia subclase de TextField y reemplace uno o más métodos de Get...También debe reemplazar el método de InitializeShapeFields de la forma, y reemplaza la instancia de TextField con una instancia de dispone de la clase.
El ejemplo siguiente se crea la fuente de un dependiente del campo de texto en el estado de una propiedad boolean del dominio del elemento del modelo de la forma.
Para ejecutar este código de ejemplo, cree una nueva solución ADSL utilizando la plantilla de lenguaje mínimos.Agregue una propiedad booleana AlternateState de dominio a la clase de dominio de ExampleElement.Agregue un elemento decorator de icono a la clase de ExampleShape, y establezca la imagen a un archivo de mapa de bits.Haga clic en Transformar todas las plantillas.Agregue un nuevo archivo de código en el proyecto ADSL, e inserte el código siguiente.
Para probar el código, presione F5 y, en la solución de depuración, abra un diagrama de ejemplo.El estado predeterminado de icono debe aparecer.Seleccione la forma y en la ventana Propiedades, cambie el valor de la propiedad de AlternateState .La fuente del nombre del elemento debe cambiar.
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);
}
}
Conjuntos de estilo
El ejemplo anterior muestra cómo modificar el campo de texto a cualquier fuente disponible.Sin embargo, un método preferible es cambiarlo por uno de un conjunto de estilos que está asociado con la forma o con la aplicación.Para ello, reemplace el GetFontId o GetTextBrushId().
Si lo desea, también puede cambiar el conjunto de estilo de la forma reemplazando InitializeResources.Esto tiene el efecto de cambiar las fuentes y los pinceles para todos los campos de la forma.
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.VisualStudio.Modeling.Diagrams (Espacio de nombres)
.gif)
.gif)
.gif)
Precaución