TextField-Klasse
Lightweight-Objekt, das einen Teil einer Form darstellt, die Textbezeichnungen oder -bereiche anzeigen kann.
Vererbungshierarchie
System.Object
Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
Microsoft.VisualStudio.Modeling.Diagrams.TextField
Microsoft.VisualStudio.Modeling.Diagrams.LabelTextField
Namespace: Microsoft.VisualStudio.Modeling.Diagrams
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)
Syntax
'Declaration
Public Class TextField _
Inherits ShapeField
public class TextField : ShapeField
Der TextField-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
TextField | Initialisiert eine neue Instanz der TextField-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
AnchoringBehavior | Beschreibt, wie der Inhalt des Felds und seine Größe in Bezug auf das übergeordnete ShapeElement positioniert werden soll. (Von ShapeField geerbt.) | |
DefaultAccessibleDescription | Ruft die standardmäßige barrierefreie Beschreibung ab oder legt diese fest. (Von ShapeField geerbt.) | |
DefaultAccessibleName | Ruft den Standardnamen des Formfelds für das barrierefreie Objekt ab oder legt diesen fest. (Von ShapeField geerbt.) | |
DefaultAccessibleState | Ruft den Standardzustand des Formfelds für das zugreifbare Objekt ab. (Von ShapeField geerbt.) | |
DefaultAutoSize | Wenn "true", wächst die genannte Mindestgröße des Textfelds an, um die Länge des Anzeigetexts aufnehmen zu können.Autosizable-Textfelder berücksichtigen auch die minimale Größe, die im AnchoringBehavior angegeben wird. | |
DefaultBackgroundBrushId | Ruft die ID des standardmäßigen Pinsels ab, mit dem der Hintergrund des Formfelds gezeichnet wird, oder legt diese fest. (Von ShapeField geerbt.) | |
DefaultCommitOnEscape | Ruft einen Wert ab oder legt diesen fest, der angibt, ob die ESC-Taste einen Commit für die Bearbeitung ausführt.Wenn "true", wird die EINGABETASTE als CRLF für die direkte Bearbeitung verwendet. | |
DefaultFocusable | Ruft das Feld "Form" ab und überprüft, ob es den Fokus erhalten kann, oder gibt dem Feld die Möglichkeit, den Fokus zu empfangen. (Von ShapeField geerbt.) | |
DefaultFontId | Ruft die standardmäßige Schriftart-ID ab oder legt diese fest. | |
DefaultInactiveSelectedBackgroundBrushId | Ruft die ID des Standardhintergrundpinsels für das Formfeld ab oder legt diese fest. (Von ShapeField geerbt.) | |
DefaultInactiveSelectedTextBrushId | Ruft die standardmäßige Pinsel-ID für den inaktiven ausgewählten Text ab oder legt diese fest. | |
DefaultIsHorizontal | Ruft den standardmäßigen horizontalen Zustand für den Text ab oder legt diesen fest. | |
DefaultMultipleLine | Wenn "true", wird der Text automatisch in mehreren Zeilen angezeigt, um in die verfügbare Breite zu passen. | |
DefaultPenId | Ruft die ID des standardmäßigen Stiftes ab, der für das Formfeld verwendet wird, oder legt diese fest. (Von ShapeField geerbt.) | |
DefaultReflectParentFocusedState | Ruft die untergeordnete Form ab und überprüft, ob es den Fokus erhalten sollte, wenn ihre übergeordnete Form den Fokus erhält oder legt die Fähigkeit fest, den Fokus zu reflektieren. (Von ShapeField geerbt.) | |
DefaultReflectParentSelectedState | Ruft die untergeordnete Form ab und überprüft, ob sie ausgewählt werden sollte, wenn ihre übergeordnete Form ausgewählt ist oder legt die die Fähigkeit fest, die Auswahl zu reflektieren. (Von ShapeField geerbt.) | |
DefaultSelectable | Ruft das Feld "Form" ab und überprüft, ob es standardmäßig ausgewählt werden kann, oder legt den Standardwert des Felds im ausgewählten Zustand fest. (Von ShapeField geerbt.) | |
DefaultSelectedBackgroundBrushId | Ruft die ID des Standardhintergrundpinsels für das Formfeld ab oder legt diese fest. (Von ShapeField geerbt.) | |
DefaultSelectedTextBrushId | Ruft die standardmäßige Pinsel-ID für den ausgewählten Text ab oder legt diese fest. | |
DefaultStringFormat | Ruft das standardmäßige Zeichenfolgenformat für das Zeichnen von Text ab oder legt dieses fest. | |
DefaultText | Ruft den zu zeichnenden Standardtext ab oder legt diesen fest. | |
DefaultTextBrushId | Ruft die standardmäßige Pinsel-ID für den Text ab oder legt diese fest. | |
DefaultVisibility | Ruft das Feld "Form" ab und überprüft, ob es standardmäßig angezeigt wird oder legt die standardmäßige Sichtbarkeit des Felds fest. (Von ShapeField geerbt.) | |
DisplayMember | Ruft den Eigenschaftennamen ab, dem der Anzeigetext zugeordnet ist, oder legt diesen fest. | |
DrawBorder | (Nicht verwenden – wird geändert) | |
FillBackground | (Nicht verwenden – wird geändert) | |
Name | Ruft den Namen des ausgeblendeten Formfelds ab. (Von ShapeField geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
AccessibleDoDefaultAction | Führt die Standardaktion für das Objekt, auf das zugegriffen werden kann, aus. (Von ShapeField geerbt.) | |
AllowInPlaceEditorAutoSize | Standardmäßig kann der direkte Editor in der Größe automatisch angepasst werden, wenn das Feld automatische Größenanpassung unterstützt. (Überschreibt ShapeField.AllowInPlaceEditorAutoSize(ShapeElement).) | |
AssociateValueWith(Store, AssociatedPropertyInfo) | Ordnet das Form-Feld einer Domäneneigenschaft zu, die zu einem Form-Element zugewiesen ist. (Von ShapeField geerbt.) | |
AssociateValueWith(Store, Guid) | Ordnet das Form-Feld einer Domäneneigenschaft zu, die zu einem Form-Element zugewiesen ist. (Von ShapeField geerbt.) | |
AssociateValueWith(Store, Guid, AssociatedPropertyInfo) | Ordnet das Form-Feld einer Domäneneigenschaft zu, die zu einem Form-Element zugewiesen ist. (Von ShapeField geerbt.) | |
AssociateVisibilityWith(Store, AssociatedPropertyInfo) | Ordnet die Sichtbarkeit des Form-Felds einer Domäneneigenschaft, die einem Form-Element zugewiesen ist. (Von ShapeField geerbt.) | |
AssociateVisibilityWith(Store, Guid) | Ordnet die Sichtbarkeit des Form-Felds einer Domäneneigenschaft, die einem Form-Element zugewiesen ist. (Von ShapeField geerbt.) | |
AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) | Ordnet die Sichtbarkeit des Form-Felds einer Domäneneigenschaft, die einem Form-Element zugewiesen ist. (Von ShapeField geerbt.) | |
CanEditValue | Gibt einen Wert zurück, der angibt, ob der Wert dieses Felds bearbeitet werden kann. (Überschreibt ShapeField.CanEditValue(ShapeElement, DiagramClientView).) | |
CommitPendingEdit | Führt einen Commit für die anstehende Bearbeitung aus. (Überschreibt ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView).) | |
DoHitTest | Führt einen Treffertest für einen angegebenen Punkt im Diagramm aus, um zu bestimmen, ob der Punkt innerhalb der angegebenen Begrenzungen des Formfelds ist. (Von ShapeField geerbt.) | |
DoKeyboardNavigation | Navigiert im Formfeld mithilfe der Tastatur. (Von ShapeField geerbt.) | |
DoPaint | Zeichnet das Textfeld. (Überschreibt ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).) | |
EditValue(ShapeElement, DiagramClientView) | Ruft den direkten Editor auf. (Überschreibt ShapeField.EditValue(ShapeElement, DiagramClientView).) | |
EditValue(ShapeElement, DiagramClientView, PointD) | Ruft den direkten Editor auf und legt die Einfügemarke unter Verwendung der angegebenen Position des Mauszeigers fest. (Überschreibt ShapeField.EditValue(ShapeElement, DiagramClientView, PointD).) | |
EditValue(ShapeElement, DiagramClientView, String) | Ruft den direkten Editor auf und ersetzt den Text durch den angegebenen Text. | |
Equals | Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) | |
FindFirstChild | Sucht das erste untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.) | |
FindLastChild | Sucht das letzte untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.) | |
FindNextChild | Sucht das nächste untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.) | |
FindNextInChildSubFields | Sucht das nächste untergeordnete Shape-Feld in der Navigationsreihenfolge. (Von ShapeField geerbt.) | |
FindPreviousChild | Sucht das vorherige untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.) | |
FindPreviousInChildSubFields | Sucht das vorherige untergeordnete Shape-Feld in der Navigationsreihenfolge. (Von ShapeField geerbt.) | |
Focused | Ruft das Feld "Form" ab und überprüft, ob es den Fokus besitzt. (Von ShapeField geerbt.) | |
GetAccessibilityObject | Ruft das Barrierefreiheit-Objekt ab, das dem Formfeld zugewiesen wird. (Von ShapeField geerbt.) | |
GetAccessibleChild | Ruft das Barrierefreiheit-Objekt für das untergeordnete Formfeld ab. (Von ShapeField geerbt.) | |
GetAccessibleChildCount | Ruft die Anzahl der Accessibility-Objekte (Barrierefreiheit) ab, die dem übergeordneten Formfeld und seinen untergeordneten Formfeldern zugewiesen werden. (Von ShapeField geerbt.) | |
GetAccessibleDefaultActionDescription | Ruft den Standardzweck des Formfelds für das zugreifbare Objekt ab. (Von ShapeField geerbt.) | |
GetAccessibleDescription | Gibt die standardmäßige zugreifbare Beschreibung für ein Textfeld zurück. (Überschreibt ShapeField.GetAccessibleDescription(ShapeElement).) | |
GetAccessibleHelp | Ruft die Hilfe für das Feld "Form" des barrierefreien Objekts ab. (Von ShapeField geerbt.) | |
GetAccessibleHelpTopicFileName | Ruft ein Thema in der Hilfe für das barrierefreie Objekt ab. (Von ShapeField geerbt.) | |
GetAccessibleHelpTopicId | Ruft die ID ab, die dem Hilfethema zum verfügbaren Objekt zugewiesen ist. (Von ShapeField geerbt.) | |
GetAccessibleName | Gibt den Anzeigetext als den zugreifbaren Namen zurück. (Überschreibt ShapeField.GetAccessibleName(ShapeElement).) | |
GetAccessibleRole | Ruft die zugreifbare Rolle von diesem ShapeField ab. (Überschreibt ShapeField.GetAccessibleRole(ShapeElement).) | |
GetAccessibleState | Ruft den zugreifbaren Zustand von diesem TextField ab.Standardmäßig ist das TextField für Barrierefreiheit-Clients nicht sichtbar, wenn das Feld nicht fokussierbar ist und kein Text angezeigt wird. (Überschreibt ShapeField.GetAccessibleState(ShapeElement, DiagramClientView).) | |
GetAccessibleValue | Gibt den zugreifbaren Wert zurück. (Überschreibt ShapeField.GetAccessibleValue(ShapeElement).) | |
GetActiveInPlaceEditor | Gibt das Steuerelement für den aktiven direkten Editor zurück.Diese Methode gibt möglicherweise NULL zurück. In diesem Fall ist kein direkter Editor für dieses Feld aktiv. (Überschreibt ShapeField.GetActiveInPlaceEditor(ShapeElement, DiagramClientView).) | |
GetAutoSize | Wenn "true", wächst die erforderliche Mindestgröße des Textfelds an, um die Länge des Anzeigetexts aufnehmen zu können.Autosizable-Textfelder berücksichtigen auch die minimale Größe, die im AnchoringBehavior angegeben wird. | |
GetBackgroundBrush | Ruft den Pinsel ab, der den Hintergrund für das Formelement zeichnet, dem dieses Formelement zugewiesen ist. (Von ShapeField geerbt.) | |
GetBackgroundBrushId | Ruft die ID des Pinsels ab, der den Hintergrund für das Formelement zeichnet, dem dieses Formfeld zugewiesen ist. (Von ShapeField geerbt.) | |
GetBounds | Ruft die Begrenzungen für das Formfeld ab. (Von ShapeField geerbt.) | |
GetCursor | Ruft den Zeiger ab, der angezeigt wird, wenn der Mauszeiger auf das Formfeld zeigt. (Von ShapeField geerbt.) | |
GetDisplayText | Ruft den durch dieses Feld anzuzeigenden Text ab. | |
GetFocusable | Ruft das Feld "Form" ab und überprüft, ob es den Fokus erhalten kann. (Von ShapeField geerbt.) | |
GetFont | Ruft die Schriftart ab, mit der die angegebene ShapeElement-Instanz gezeichnet wird. | |
GetFontHeight | Ruft den Zeilenabstand dieser Schriftart (d. h, die Höhe einer Textzeile) in den Welteinheiten ab.Zeilenabstand ist Ascent + Descent + empfohlener Zusatzabstand."Ascent" ist die Höhe des Zeichens über der Baseline, und "Descent" die Höhe des Zeichens unter der Baseline.Die zusätzliche Höhe liegt unter der Unterlänge. | |
GetFontId | Ruft die ID der Schriftart ab, mit der die angegebene ShapeElement-Instanz gezeichnet wird. | |
GetHashCode | Fungiert als die Standardhashfunktion. (Von Object geerbt.) | |
GetInPlaceEditorBounds | Ruft die Begrenzungen für den direkten Editor ab. (Von ShapeField geerbt.) | |
GetMaximumInPlaceEditorSize | Standardmäßig kann das direkte Bearbeitungssteuerelement, sein Größe um bis zu 75 Zeichen ändern. (Überschreibt ShapeField.GetMaximumInPlaceEditorSize(ShapeElement).) | |
GetMinimumInPlaceEditorSize | Die minimale direkte Editor-Größe basiert auf der minimalen Zeichenbreite und Zeilenhöhe. (Überschreibt ShapeField.GetMinimumInPlaceEditorSize(ShapeElement).) | |
GetMinimumSize | Ruft die Mindestbreite und Mindesthöhe für dieses ShapeField in globalen Einheiten ab. (Überschreibt ShapeField.GetMinimumSize(ShapeElement).) | |
GetMultipleLine | Wenn "true", kann der Text auf mehrere Zeilen umbrochen werden, um in die verfügbare Breite zu passen. | |
GetPen | Ruft den Stift ab, mit dem das Formelement gezeichnet wird, dem das Formfeld zugewiesen ist. (Von ShapeField geerbt.) | |
GetPenId | Ruft die ID des Stifts ab, mit dem das Formelement gezeichnet wird, dem das Formfeld zugewiesen ist. (Von ShapeField geerbt.) | |
GetPotentialMouseAction | Ruft die Mausaktion ab, die aktiviert werden soll, wenn der Benutzer auf einen bestimmten Punkt im Diagramm klickt. (Von ShapeField geerbt.) | |
GetSelectable | Ruft das Feld "Form" ab und überprüft, ob es ausgewählt werden kann. (Von ShapeField geerbt.) | |
GetStringFormat | Ruft das Zeichenfolgenformat ab, um den Text für die angegebenen ShapeElement-Instanz zu zeichnen. | |
GetTextBrush | Ruft den Pinsel ab, mit dem der Text für die angegebene ShapeElement-Instanz gezeichnet wird. | |
GetTextBrushId | Ruft die ID des Pinsels ab, mit dem der Text für die angegebene ShapeElement-Instanz gezeichnet wird. | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
GetValue | Ruft den Wert für dieses TextField ab. (Überschreibt ShapeField.GetValue(ShapeElement).) | |
GetValueDomainPropertyInfo | Ruft die Domäneneigenschaft ab, die dem Wert im Formfeld zugewiesen wird. (Von ShapeField geerbt.) | |
GetVisible | Ruft das Feld "Form" ab und überprüft, ob er angezeigt wird. (Von ShapeField geerbt.) | |
HasFocusedAppearance | Ruft das Feld "Form" ab und überprüft, ob angezeigt werden soll, dass es den Fokus besitzt. (Von ShapeField geerbt.) | |
HasPendingEdit | Gibt einen Wert zurück, der angibt, ob die direkte Bearbeitung aktiv ist, mit einem ausstehenden Commit. (Überschreibt ShapeField.HasPendingEdit(ShapeElement, DiagramClientView).) | |
HasSelectedAppearance | Ruft das Feld "Form" ab und überprüft, ob es ausgewählt wurde. (Von ShapeField geerbt.) | |
IsNavigationKey(Char) | Ruft den Schlüssel ab, der vom Benutzer gedrückt wurde, und überprüft, ob er verwendet werden kann, um zwischen Formfeldern zu navigieren. (Von ShapeField geerbt.) | |
IsNavigationKey(Keys) | Ruft die Schlüssel ab, die vom Benutzer gedrückt wurden, und überprüft, ob sie verwendet werden können, um zwischen Formfeldern zu navigieren. (Von ShapeField geerbt.) | |
MeasureDisplayText | Hilfsprogrammmethode, um den angegebenen Text zu messen. | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
NavigateAscend | Verschiebt den Fokus zum vorherigen Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.) | |
NavigateDescend | Verschiebt den Fokus zum nächsten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.) | |
NavigateToFirst | Verschiebt den Fokus zum ersten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.) | |
NavigateToLast | Verschiebt den Fokus zum letzten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.) | |
NavigateToNext | Verschiebt den Fokus zum nächsten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.) | |
NavigateToPrevious | Verschiebt den Fokus zum vorherigen Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.) | |
OnBeginEdit | Alarmiert Listener, wenn die direkte Bearbeitung begonnen hat. (Von ShapeField geerbt.) | |
OnClick | Alarmiert Listener, wenn der Benutzer auf ein Formfeld geklickt hat. (Von ShapeField geerbt.) | |
OnDoubleClick | Ruft die direkte Bearbeitung standardmäßig auf. (Überschreibt ShapeField.OnDoubleClick(DiagramPointEventArgs).) | |
OnEndEdit | Alarmiert Listener, wenn die direkte Bearbeitung beendet ist. (Von ShapeField geerbt.) | |
OnKeyDown | Alarmiert Listener, wenn der Benutzer beim Zeigen auf ein Formfeld eine Taste gedrückt gehalten hat. (Von ShapeField geerbt.) | |
OnKeyPress | Ruft den Editor auf, wenn das Feld bearbeitbar ist und ein alphanumerisches Zeichen eingegeben wird. (Überschreibt ShapeField.OnKeyPress(DiagramKeyPressEventArgs).) | |
OnKeyUp | Alarmiert Listener, wenn der Benutzer beim Zeigen auf ein Formfeld eine Taste losgelassen hat. (Von ShapeField geerbt.) | |
OnMouseDown | Alarmiert Listener, wenn der Benutzer den Mauszeiger über einem Formfeld hält. (Von ShapeField geerbt.) | |
OnMouseMove | Alarmiert Listener, wenn der Mauszeiger über ein Formfeld bewegt wurde. (Von ShapeField geerbt.) | |
OnMouseUp | Alarmiert Listener, wenn der Benutzer die Maustaste über einem Formfeld losgelassen hat. (Von ShapeField geerbt.) | |
OnMouseWheel | Alarmiert Listener, wenn der Mauszeiger über ein Formfeld kreisförmig bewegt wurde. (Von ShapeField geerbt.) | |
Selected | Ruft das Feld "Form" ab und überprüft, ob es ausgewählt ist. (Von ShapeField geerbt.) | |
SetSelectionRange | Legt die Auswahl auf einen Bereich von untergeordneten Formfeldern fest. (Von ShapeField geerbt.) | |
SetValue | Weist den angegebenen Wert einem Formfeld zu. (Von ShapeField geerbt.) | |
SetVisible | Legt die Sichtbarkeit des Formfelds fest. (Von ShapeField geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Hinweise
Wenn Sie ein Textdecorator-element in einer Form definieren, wird sie in ein Option dargestellt. Beispiele für die Initialisierung von TextFields und anderen ShapeFields, überprüfen Sie Dsl\GeneratedCode\Shapes.cs in der DSL-Projektmappe.
Ein Option ist ein Objekt, das einen Bereich in einer Form verwaltet, z des Abstands, das einer Bezeichnung zugewiesen wird. Eine TextField-Instanz wird zwischen vielen Formen der gleichen Klasse freigegeben. Die TextField-Instanz speichert den Text der Beschriftung separat nicht für jede Instanz: Stattdessen hat die GetDisplayText(ShapeElement)-Methode die Form als Parameter und kann das Textabhängige sich auf den aktuellen Zustand der Form und ihres Namens gesucht wird.
Wie die Darstellung eines Textfelds bestimmt wird
Die standardmäßige DoPaint()-Methode führt diese Aufgaben aus. Dies ist eine vereinfachte Darstellung seines Codes:
// 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; }
Es gibt mehrere andere Kombinationen Get-Methoden und Default-Eigenschaften, wie DefaultMultipleLine/GetMultipleLine(). Sie können einen Wert der Standardeigenschaft zuweisen, um den Wert für alle Instanzen des Formfelds zu ändern. Um den Wert einer Forminstanz zu unterscheiden lassen oder je nach dem Zustand der Form oder der Modellelements, überschreiben Sie die Get-Methode.
Statische Anpassungen
Wenn jede Instanz dieses Formfelds ändern möchten, finden erste out, ob die Eigenschaft in der DSL-Definition festlegen können. Beispielsweise können Sie festlegen und Schriftgrad im Eigenschaftenfenster formatieren.
Wenn, überschreiben Sie dann die InitializeShapeFields-Methode der Formklasse, und weisen Sie den Wert der entsprechenden Default...-Eigenschaft des Textfelds in.
Warnung
Um InitializeShapeFields() zu überschreiben, müssen Sie die Eigenschaft Generiert abgeleitetes Double der Formklasse auf true in der DSL-Definition festlegen.
In diesem Beispiel verfügt eine Form ein Textfeld, das für Benutzerkommentare verwendet wird. Sie möchten die Standardkommentarschriftart verwenden. Da es eine Standardschriftart vom Formatsatz ist, können wir die Standardschriftart-ID festlegen:
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;
Dynamische Anpassungen
Um die Darstellung abhängige Datei unterscheiden lassen auf dem Zustand einer Form oder des Modellelements, leiten Sie eine Unterklasse von TextField und überschreiben Sie eine oder mehrere Get...-Methoden. Sie müssen das InitializeShapeFields-Methode der Form auch überschreiben und ersetzen die Instanz des Option durch eine Instanz der Klasse.
Im folgenden Beispiel wird die Schriftart von einem Textfeldabhängigen element auf dem Zustand einer booleschen Domäneneigenschaft des Modellelements der Form.
Um diesen Beispielcode auszuführen, erstellen Sie eine neue DSL-Projektmappe mit minimalen Sprachvorlage. Fügen Sie einer Domäneneigenschaft AlternateState von booleschen Werts der ExampleElement-Domänenklasse hinzu. Fügen Sie einem Symboldecorator-element der ExampleShape-Klasse hinzu, und legen Sie das Bild auf eine Bitmapdatei fest. Klicken Sie auf Alle Vorlagen transformieren. Fügen Sie eine neue Codedatei im DSL-Projekt hinzu, und fügen Sie den folgenden Code ein.
Um den Code zu testen, drücken, und Sie in die Debuggingsprojektmappe F5, ein Beispieldiagramm. Der Standardzustand des Symbols wird angezeigt. Wählen Sie die Form, und ändern Sie im Eigenschaftenfenster den Wert der Eigenschaft AlternateState aus. Die Schriftart des Elementnamens sollte ändern.
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);
}
}
Formatsätze
Das obige Beispiel zeigt, wie Sie das Textfeld in jeder Schriftart ändern können, die verfügbar ist. Es ist eine vorzuziehende Methode, bis eine eines Satzes Stile zu ändern, der mit der Form oder der Anwendung zugeordnet ist. Hierzu, überschreiben Sie GetFontId oder GetTextBrushId().
Alternativ sollten Sie erwägen, den Formatsatz Formular durch Überschreiben von InitializeResources ändern. Dies hat den Effekt der Änderung der Schriftarten und der Pinsel für alle Formfelder.
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.