Classe TextField
Oggetto semplice che rappresenta una parte di una forma che può visualizzare le etichette di testo o le aree.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
Microsoft.VisualStudio.Modeling.Diagrams.TextField
Microsoft.VisualStudio.Modeling.Diagrams.LabelTextField
Spazio dei nomi: Microsoft.VisualStudio.Modeling.Diagrams
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)
Sintassi
'Dichiarazione
Public Class TextField _
Inherits ShapeField
public class TextField : ShapeField
Il tipo TextField espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
![]() |
TextField | Inizializza una nuova istanza della classe di TextField. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
![]() |
AnchoringBehavior | Viene descritto come il contenuto del campo necessario posizionare e ridimensionare relativamente allo ShapeElement padre. (Ereditato da ShapeField) |
![]() |
DefaultAccessibleDescription | Ottiene o imposta la descrizione accessibile predefinita. (Ereditato da ShapeField) |
![]() |
DefaultAccessibleName | Ottiene o imposta il nome predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) |
![]() |
DefaultAccessibleState | Ottiene lo stato predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) |
![]() |
DefaultAutoSize | Se true, il campo di testo segnalato la dimensione diventerà appropriata la lunghezza del testo diplay.I campi di testo di Autosizable ancora rispetterà la dimensione minima specificata nel AnchoringBehavior. |
![]() |
DefaultBackgroundBrushId | Ottiene o imposta l'ID del pennello predefinito per disegnare lo sfondo del campo della forma. (Ereditato da ShapeField) |
![]() |
DefaultCommitOnEscape | Ottiene o imposta un valore che indica se il tasto escape esegue il commit della modifica.Se true, la chiave di inserire sarà utilizzata come CRLF per la modifica sul posto. |
![]() |
DefaultFocusable | Ottiene il campo della forma e verifica se può ricevere lo stato attivo, o viene assegnato al campo della forma in grado di ricevere lo stato attivo. (Ereditato da ShapeField) |
![]() |
DefaultFontId | Ottiene o imposta l'id predefinito di carattere |
![]() |
DefaultInactiveSelectedBackgroundBrushId | Ottiene o imposta un valore che specifica l'ID del pennello per lo sfondo predefinito per il campo della forma. (Ereditato da ShapeField) |
![]() |
DefaultInactiveSelectedTextBrushId | Ottiene o imposta l'id predefinito del pennello per il testo selezionato inattivo. |
![]() |
DefaultIsHorizontal | ottiene o imposta lo stato predefinito di orizzontale per il testo. |
![]() |
DefaultMultipleLine | Se true, il testo va a capo automaticamente su più di uno riga da inserire nella larghezza disponibile. |
![]() |
DefaultPenId | Ottiene o imposta l'ID della penna predefinita da utilizzare per il campo della forma. (Ereditato da ShapeField) |
![]() |
DefaultReflectParentFocusedState | Ottiene il campo figlio di forme e verifica se deve ricevere lo stato attivo quando la relativa forma padre riceve lo stato attivo o imposta la possibilità di riflettere lo stato attivo della forma padre. (Ereditato da ShapeField) |
![]() |
DefaultReflectParentSelectedState | Ottiene il campo figlio di forme e verifica se deve essere selezionato quando la relativa forma padre viene selezionata o imposta la possibilità di aggiornare lo stato di selezione della forma padre. (Ereditato da ShapeField) |
![]() |
DefaultSelectable | Ottiene il campo della forma e verifica se può essere selezionato per impostazione predefinita o imposta lo stato di selezione predefinito del campo della forma. (Ereditato da ShapeField) |
![]() |
DefaultSelectedBackgroundBrushId | Ottiene o imposta un valore che specifica l'ID del pennello per lo sfondo predefinito per il campo della forma. (Ereditato da ShapeField) |
![]() |
DefaultSelectedTextBrushId | Ottiene o imposta l'id predefinito del pennello per il testo selezionato. |
![]() |
DefaultStringFormat | Ottiene o imposta il formato della stringa predefinito per il disegno di testo. |
![]() |
DefaultText | Ottiene o imposta il testo predefinito per il disegno. |
![]() |
DefaultTextBrushId | Ottiene o imposta l'id predefinito del pennello per il testo. |
![]() |
DefaultVisibility | Ottiene il campo della forma e si verifica se viene visualizzato per impostazione predefinita o impostare la visibilità predefinita del campo della forma. (Ereditato da ShapeField) |
![]() |
DisplayMember | Ottiene o imposta il nome della proprietà il cui testo visualizzato è associato. |
![]() |
DrawBorder | (Non utilizzare - verrà modificato) |
![]() |
FillBackground | (Non utilizzare - verrà modificato) |
![]() |
Name | Ottiene il nome del campo della forma. (Ereditato da ShapeField) |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
AccessibleDoDefaultAction | Eseguire l'azione predefinita per l'oggetto accessibile. (Ereditato da ShapeField) |
![]() |
AllowInPlaceEditorAutoSize | Per impostazione predefinita, consentendo dell'editor sul posto ridimensionamento automatico se il campo supporta la dimensionamento automatico. (Esegue l'override di ShapeField.AllowInPlaceEditorAutoSize(ShapeElement)). |
![]() |
AssociateValueWith(Store, AssociatedPropertyInfo) | Associa il campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField) |
![]() |
AssociateValueWith(Store, Guid) | Associa il campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField) |
![]() |
AssociateValueWith(Store, Guid, AssociatedPropertyInfo) | Associa il campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField) |
![]() |
AssociateVisibilityWith(Store, AssociatedPropertyInfo) | Associa la visibilità del campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField) |
![]() |
AssociateVisibilityWith(Store, Guid) | Associa la visibilità del campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField) |
![]() |
AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) | Associa la visibilità del campo di forma con una proprietà del dominio assegnata a un elemento di formato. (Ereditato da ShapeField) |
![]() |
CanEditValue | Restituisce un valore che indica se il valore di questo campo può essere modificato. (Esegue l'override di ShapeField.CanEditValue(ShapeElement, DiagramClientView)). |
![]() |
CommitPendingEdit | Esegue il commit della modifica in sospeso. (Esegue l'override di ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView)). |
![]() |
DoHitTest | Esegue un hit test su un punto specificato nel diagramma per determinare se il passaggio consiste nei limiti del campo della forma. (Ereditato da ShapeField) |
![]() |
DoKeyboardNavigation | Si sposta nel campo del form utilizzando la tastiera. (Ereditato da ShapeField) |
![]() |
DoPaint | disegna il campo di testo. (Esegue l'override di ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)). |
![]() |
EditValue(ShapeElement, DiagramClientView) | Richiama l'editor sul posto. (Esegue l'override di ShapeField.EditValue(ShapeElement, DiagramClientView)). |
![]() |
EditValue(ShapeElement, DiagramClientView, PointD) | Richiama l'editor sul posto, impostando il cursore utilizzando la posizione specificata del mouse. (Esegue l'override di ShapeField.EditValue(ShapeElement, DiagramClientView, PointD)). |
![]() |
EditValue(ShapeElement, DiagramClientView, String) | Richiama l'editor sul posto, sostituendo il testo con il testo specificato. |
![]() |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) |
![]() |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
![]() |
FindFirstChild | Individuare il primo campo figlio di forma nel campo padre della forma. (Ereditato da ShapeField) |
![]() |
FindLastChild | Individuare l'ultimo campo figlio di forma nel campo padre della forma. (Ereditato da ShapeField) |
![]() |
FindNextChild | Individuare il campo figlio seguente shape nel campo padre della forma. (Ereditato da ShapeField) |
![]() |
FindNextInChildSubFields | Individuare il campo figlio seguente shape nella sequenza di navigazione. (Ereditato da ShapeField) |
![]() |
FindPreviousChild | Individuare il campo figlio precedente di forma nel campo padre della forma. (Ereditato da ShapeField) |
![]() |
FindPreviousInChildSubFields | Individuare il campo figlio precedente di forma nella sequenza di navigazione. (Ereditato da ShapeField) |
![]() |
Focused | Ottiene il campo della forma e verifica se abbia lo stato attivo. (Ereditato da ShapeField) |
![]() |
GetAccessibilityObject | Ottiene l'oggetto di accessibilità assegnato al campo della forma. (Ereditato da ShapeField) |
![]() |
GetAccessibleChild | Ottiene l'oggetto di accessibilità per il campo figlio della forma. (Ereditato da ShapeField) |
![]() |
GetAccessibleChildCount | Ottiene il numero di oggetti di accessibilità assegnati al campo padre della forma e ai relativi campi figlio della forma. (Ereditato da ShapeField) |
![]() |
GetAccessibleDefaultActionDescription | Ottiene lo scopo predefinito del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) |
![]() |
GetAccessibleDescription | restituisce la descrizione accessibile predefinita per un campo di testo. (Esegue l'override di ShapeField.GetAccessibleDescription(ShapeElement)). |
![]() |
GetAccessibleHelp | Ottiene la guida del campo della forma per l'oggetto accessibile. (Ereditato da ShapeField) |
![]() |
GetAccessibleHelpTopicFileName | Ottiene un argomento della guida all'oggetto accessibile. (Ereditato da ShapeField) |
![]() |
GetAccessibleHelpTopicId | Ottiene l'ID assegnato all'argomento della Guida per l'oggetto accessibile. (Ereditato da ShapeField) |
![]() |
GetAccessibleName | Restituisce il testo visualizzato come nome accessibile. (Esegue l'override di ShapeField.GetAccessibleName(ShapeElement)). |
![]() |
GetAccessibleRole | recupera il ruolo accessibile di questo ShapeField. (Esegue l'override di ShapeField.GetAccessibleRole(ShapeElement)). |
![]() |
GetAccessibleState | recupera lo stato accessibile di questo TextField.Per impostazione predefinita, il TextField non è visibile ai client di accessibilità se il campo non viene attivabile e non esiste testo da visualizzare. (Esegue l'override di ShapeField.GetAccessibleState(ShapeElement, DiagramClientView)). |
![]() |
GetAccessibleValue | restituisce il valore accessibile. (Esegue l'override di ShapeField.GetAccessibleValue(ShapeElement)). |
![]() |
GetActiveInPlaceEditor | Restituisce il controllo per l'editor sul posto attivo.Questo metodo può restituire null, nel qual caso non è disponibile alcun editor sul posto attivo per questo campo. (Esegue l'override di ShapeField.GetActiveInPlaceEditor(ShapeElement, DiagramClientView)). |
![]() |
GetAutoSize | Se true, la dimensione richiesta minima di campo di testo che diventerà appropriata la lunghezza del testo diplay.I campi di testo di Autosizable ancora rispetterà la dimensione minima specificata nel AnchoringBehavior. |
![]() |
GetBackgroundBrush | Ottiene il pennello che consente di disegnare lo sfondo dell'elemento della forma a cui questo campo di forma è assegnato. (Ereditato da ShapeField) |
![]() |
GetBackgroundBrushId | Ottiene l'ID del pennello che consente di disegnare lo sfondo dell'elemento della forma a cui questo campo di forma è assegnato. (Ereditato da ShapeField) |
![]() |
GetBounds | Ottiene i limiti del campo della forma. (Ereditato da ShapeField) |
![]() |
GetCursor | Ottiene il puntatore visualizzato quando il mouse è posizionato sul campo della forma. (Ereditato da ShapeField) |
![]() |
GetDisplayText | Ottiene il testo da visualizzare da questo campo. |
![]() |
GetFocusable | Ottiene il campo della forma e si verifica se può ricevere lo stato attivo. (Ereditato da ShapeField) |
![]() |
GetFont | Ottiene il tipo di carattere per disegnare con per l'istanza specificata di ShapeElement. |
![]() |
GetFontHeight | Ottiene misurazione di questo tipo di carattere (ovvero, l'altezza di una riga di testo) in unità del mondo.L'interlinea è l'ascesa + la discesa + un determinato oggetto aggiuntivo consigliato.L'ascesa corrisponde all'altezza del carattere sul riferimento e la discesa corrisponde all'altezza del carattere al di sotto del riferimento.Integrano si trova sotto la discesa. |
![]() |
GetFontId | Ottiene l'id del carattere per disegnare con per l'istanza specificata di ShapeElement. |
![]() |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) |
![]() |
GetInPlaceEditorBounds | Ottiene i limiti dell'editor sul posto. (Ereditato da ShapeField) |
![]() |
GetMaximumInPlaceEditorSize | Per impostazione predefinita, permettiamo che il controllo di modifica sul posto ridimensionare un massimo di 75 caratteri. (Esegue l'override di ShapeField.GetMaximumInPlaceEditorSize(ShapeElement)). |
![]() |
GetMinimumInPlaceEditorSize | La dimensione sul posto minima dell'editor è basata sulla larghezza minima i caratteri e sull'altezza righe. (Esegue l'override di ShapeField.GetMinimumInPlaceEditorSize(ShapeElement)). |
![]() |
GetMinimumSize | Ottiene la larghezza minima e il heightfor questo ShapeField in unità del mondo (Esegue l'override di ShapeField.GetMinimumSize(ShapeElement)). |
![]() |
GetMultipleLine | Se true, il testo possibile eseguire il wrapping in più di uno riga per regolare la larghezza disponibile. |
![]() |
GetPen | Ottiene la penna che estrae l'elemento di formato con cui il campo della forma è assegnato. (Ereditato da ShapeField) |
![]() |
GetPenId | Ottiene l'ID della penna che estrae l'elemento di formato con cui il campo della forma è assegnato. (Ereditato da ShapeField) |
![]() |
GetPotentialMouseAction | Ottiene l'azione del mouse attivare una volta quando l'utente fa clic su un punto specifico nel diagramma. (Ereditato da ShapeField) |
![]() |
GetSelectable | Ottiene il campo della forma e verifica se può essere selezionato. (Ereditato da ShapeField) |
![]() |
GetStringFormat | Ottiene il tipo stringa per creare testo con per l'istanza specificata di ShapeElement. |
![]() |
GetTextBrush | Ottiene il pennello per disegnare testo con per l'istanza specificata di ShapeElement. |
![]() |
GetTextBrushId | Ottiene l'id del pennello per disegnare testo con per l'istanza specificata di ShapeElement. |
![]() |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
GetValue | ottiene il valore per questo TextField. (Esegue l'override di ShapeField.GetValue(ShapeElement)). |
![]() |
GetValueDomainPropertyInfo | Ottiene la proprietà del dominio a cui è assegnato al valore nel campo della forma. (Ereditato da ShapeField) |
![]() |
GetVisible | Ottiene il campo della forma e si verifica se viene visualizzato. (Ereditato da ShapeField) |
![]() |
HasFocusedAppearance | Ottiene il campo della forma e verifica se deve essere avere lo stato attivo. (Ereditato da ShapeField) |
![]() |
HasPendingEdit | Restituisce un valore che indica se la modifica sul posto è attiva, con un commit in corso. (Esegue l'override di ShapeField.HasPendingEdit(ShapeElement, DiagramClientView)). |
![]() |
HasSelectedAppearance | Ottiene il campo della forma e verifica se sembrino essere selezionato. (Ereditato da ShapeField) |
![]() |
IsNavigationKey(Char) | Ottiene la chiave che l'utente ha raggiunto e verifica se può essere utilizzata per spostarsi tra i campi della forma. (Ereditato da ShapeField) |
![]() |
IsNavigationKey(Keys) | Ottiene le chiavi che l'utente ha raggiunto e verifica se possano essere utilizzate per spostarsi tra i campi della forma. (Ereditato da ShapeField) |
![]() |
MeasureDisplayText | Metodo di supporto al testo fornito misura. |
![]() |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
![]() |
NavigateAscend | Consente di spostare lo stato attivo sul campo precedente di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField) |
![]() |
NavigateDescend | Consente di spostare lo stato attivo sul campo seguente shape nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField) |
![]() |
NavigateToFirst | Consente di spostare lo stato attivo sul primo campo di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField) |
![]() |
NavigateToLast | Consente di spostare lo stato attivo sull'ultimo campo di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField) |
![]() |
NavigateToNext | Consente di spostare lo stato attivo sul campo seguente shape nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField) |
![]() |
NavigateToPrevious | Consente di spostare lo stato attivo sul campo precedente di forma nella sequenza di navigazione per le forme selezionate. (Ereditato da ShapeField) |
![]() |
OnBeginEdit | Avvisa i listener quando la modifica sul posto ha avviato. (Ereditato da ShapeField) |
![]() |
OnClick | Avvisa i listener quando l'utente ha fatto clic su un campo della forma. (Ereditato da ShapeField) |
![]() |
OnDoubleClick | Richiama la modifica sul posto per impostazione predefinita. (Esegue l'override di ShapeField.OnDoubleClick(DiagramPointEventArgs)). |
![]() |
OnEndEdit | Avvisa i listener quando la modifica sul posto è stata completata. (Ereditato da ShapeField) |
![]() |
OnKeyDown | Avvisa i listener quando l'utente l'oggetto mantiene una chiave quando puntando a un campo della forma. (Ereditato da ShapeField) |
![]() |
OnKeyPress | Richiama l'editor se il campo è modificabile e qualsiasi carattere alfanumerico viene digitato. (Esegue l'override di ShapeField.OnKeyPress(DiagramKeyPressEventArgs)). |
![]() |
OnKeyUp | Avvisa i listener quando l'utente ha rilasciato una chiave quando puntando a un campo della forma. (Ereditato da ShapeField) |
![]() |
OnMouseDown | Avvisa i listener quando l'utente sta tenendo premuto il mouse su un campo della forma. (Ereditato da ShapeField) |
![]() |
OnMouseMove | Avvisa i listener quando il mouse si è spostato su un campo della forma. (Ereditato da ShapeField) |
![]() |
OnMouseUp | Avvisa i listener quando l'utente ha rilasciato il pulsante del mouse su un campo della forma. (Ereditato da ShapeField) |
![]() |
OnMouseWheel | Avvisa i listener quando il mouse è stato ruotato su un campo della forma. (Ereditato da ShapeField) |
![]() |
Selected | Ottiene il campo della forma e verifica se è selezionato. (Ereditato da ShapeField) |
![]() |
SetSelectionRange | Imposta la selezione in un intervallo dei campi figlio della forma. (Ereditato da ShapeField) |
![]() |
SetValue | Assegna il valore specificato in un campo della forma. (Ereditato da ShapeField) |
![]() |
SetVisible | Imposta la visibilità del campo della forma. (Ereditato da ShapeField) |
![]() |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Note
Quando si definisce un elemento Decorator del testo in una forma, è rappresentata da un TextField.Per esempi di inizializzazione di TextFields e l'altro ShapeFields, controllare la soluzione di Dsl \GeneratedCode\Shapes.cs in your DSL.
Un TextField è un oggetto che gestisce un'area all'interno della forma, ad esempio spazio assegnato a un'etichetta.Un'istanza di TextField è condivisa tra varie forme della stessa classe.L'istanza di TextField non vengono archiviate separatamente il testo dell'etichetta per ogni istanza: invece, GetDisplayText(ShapeElement) il metodo accetta la forma come parametro e può trovare il dipendente di testo sullo stato corrente della forma e del relativo elemento del modello.
Come l'aspetto di un campo di testo viene determinato
l'impostazione predefinita DoPaint() il metodo esegue queste attività.Si tratta di una presentazione semplificata del codice:
// 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; }
Esistono diverse altre coppie di Get metodi e Default proprietà, ad esempio DefaultMultipleLine/GetMultipleLine().È possibile assegnare un valore alla proprietà predefinita per modificare il valore per tutte le istanze del campo della forma.Per fare in modo che il valore a variare da un'istanza di forma a un altro, o il dipendente sullo stato della forma o il relativo elemento del modello, eseguire l'override Get metodo.
personalizzazioni statiche
Se si desidera modificare ogni istanza di tale campo della forma, i primi per ottenere se è possibile impostare la proprietà nella definizione di modello DSL.Ad esempio, è possibile impostare la dimensione del carattere e lo stile nella Finestra Proprietà.
In caso contrario, quindi eseguire l'override InitializeShapeFields il metodo della classe di forme e assegna un valore all'oggetto appropriato Default... proprietà del campo di testo.
![]() |
---|
Per eseguire l'override InitializeShapeFields(), è necessario impostare genera il doppio derivato proprietà della classe di forma a true nella definizione di modello DSL. |
In questo esempio, la forma ha un campo di testo che verrà utilizzato per le osservazioni dell'utente.Si desidera utilizzare il tipo di carattere standard di commento.Poiché è un tipo di carattere standard dal set di stile, è possibile impostare l'id predefinito del tipo:
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;
personalizzazioni dinamiche
Per fare l'apparizione variare il dipendente sullo stato di una forma o il relativo elemento del modello, derivare possiedono la sottoclasse di TextField ed eseguire l'override di uno o più Get... metodi.È inoltre necessario eseguire l'override del metodo del InitializeShapeFields la forma e sostituire l'istanza del TextField con un'istanza della classe.
L'esempio seguente fa il tipo di un dipendente di campo di testo sullo stato di una proprietà booleana del dominio dell'elemento del modello della forma.
Per eseguire questo codice di esempio, creare una nuova soluzione DSL utilizzando il modello minimo del linguaggio.Aggiungere una proprietà booleana del dominio AlternateState alla classe di dominio di ExampleElement.Aggiungere un elemento Decorator icona alla classe di ExampleShape e impostare la relativa immagine in un file bitmap.Fare clic su Trasformazione di tutti i modelli.Aggiungere un nuovo file di codice nel progetto di modello DSL e inserire il codice seguente.
Per testare il codice, premere F5 e, nella soluzione di debug, aprire un diagramma di esempio.Lo stato predefinito dell'icona verrà visualizzato.Selezionare la forma, quindi nella Finestra Proprietà modificare il valore di AlternateState proprietà.Il tipo di carattere del nome dell'elemento verrà modificato.
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);
}
}
set di stile
Illustrato nell'esempio precedente come modificare il campo di testo a qualsiasi carattere disponibile.Tuttavia, un metodo è preferibile di modificarla in uno di un set di stili associato alla forma o con l'applicazione.A tale scopo, eseguire l'override GetFontId o GetTextBrushId().
In alternativa, provare a modificare lo stile impostato la forma override InitializeResources.Ne consegue di modificare i tipi di carattere e i pennelli per tutti i campi della forma.
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.