Freigeben über


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
Öffentliche Methode TextField Initialisiert eine neue Instanz der TextField-Klasse.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft AnchoringBehavior Beschreibt, wie der Inhalt des Felds und seine Größe in Bezug auf das übergeordnete ShapeElement positioniert werden soll. (Von ShapeField geerbt.)
Öffentliche Eigenschaft DefaultAccessibleDescription Ruft die standardmäßige barrierefreie Beschreibung ab oder legt diese fest. (Von ShapeField geerbt.)
Öffentliche Eigenschaft DefaultAccessibleName Ruft den Standardnamen des Formfelds für das barrierefreie Objekt ab oder legt diesen fest. (Von ShapeField geerbt.)
Öffentliche Eigenschaft DefaultAccessibleState Ruft den Standardzustand des Formfelds für das zugreifbare Objekt ab. (Von ShapeField geerbt.)
Öffentliche Eigenschaft 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.
Öffentliche Eigenschaft DefaultBackgroundBrushId Ruft die ID des standardmäßigen Pinsels ab, mit dem der Hintergrund des Formfelds gezeichnet wird, oder legt diese fest. (Von ShapeField geerbt.)
Öffentliche Eigenschaft 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.
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft DefaultFontId Ruft die standardmäßige Schriftart-ID ab oder legt diese fest.
Öffentliche Eigenschaft DefaultInactiveSelectedBackgroundBrushId Ruft die ID des Standardhintergrundpinsels für das Formfeld ab oder legt diese fest. (Von ShapeField geerbt.)
Öffentliche Eigenschaft DefaultInactiveSelectedTextBrushId Ruft die standardmäßige Pinsel-ID für den inaktiven ausgewählten Text ab oder legt diese fest.
Öffentliche Eigenschaft DefaultIsHorizontal Ruft den standardmäßigen horizontalen Zustand für den Text ab oder legt diesen fest.
Öffentliche Eigenschaft DefaultMultipleLine Wenn "true", wird der Text automatisch in mehreren Zeilen angezeigt, um in die verfügbare Breite zu passen.
Öffentliche Eigenschaft DefaultPenId Ruft die ID des standardmäßigen Stiftes ab, der für das Formfeld verwendet wird, oder legt diese fest. (Von ShapeField geerbt.)
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft DefaultSelectedBackgroundBrushId Ruft die ID des Standardhintergrundpinsels für das Formfeld ab oder legt diese fest. (Von ShapeField geerbt.)
Öffentliche Eigenschaft DefaultSelectedTextBrushId Ruft die standardmäßige Pinsel-ID für den ausgewählten Text ab oder legt diese fest.
Öffentliche Eigenschaft DefaultStringFormat Ruft das standardmäßige Zeichenfolgenformat für das Zeichnen von Text ab oder legt dieses fest.
Öffentliche Eigenschaft DefaultText Ruft den zu zeichnenden Standardtext ab oder legt diesen fest.
Öffentliche Eigenschaft DefaultTextBrushId Ruft die standardmäßige Pinsel-ID für den Text ab oder legt diese fest.
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft DisplayMember Ruft den Eigenschaftennamen ab, dem der Anzeigetext zugeordnet ist, oder legt diesen fest.
Öffentliche Eigenschaft DrawBorder (Nicht verwenden – wird geändert)
Öffentliche Eigenschaft FillBackground (Nicht verwenden – wird geändert)
Öffentliche Eigenschaft Name Ruft den Namen des ausgeblendeten Formfelds ab. (Von ShapeField geerbt.)

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode AccessibleDoDefaultAction Führt die Standardaktion für das Objekt, auf das zugegriffen werden kann, aus. (Von ShapeField geerbt.)
Öffentliche Methode 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).)
Öffentliche Methode AssociateValueWith(Store, AssociatedPropertyInfo) Ordnet das Form-Feld einer Domäneneigenschaft zu, die zu einem Form-Element zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode AssociateValueWith(Store, Guid) Ordnet das Form-Feld einer Domäneneigenschaft zu, die zu einem Form-Element zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Ordnet das Form-Feld einer Domäneneigenschaft zu, die zu einem Form-Element zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode AssociateVisibilityWith(Store, AssociatedPropertyInfo) Ordnet die Sichtbarkeit des Form-Felds einer Domäneneigenschaft, die einem Form-Element zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode AssociateVisibilityWith(Store, Guid) Ordnet die Sichtbarkeit des Form-Felds einer Domäneneigenschaft, die einem Form-Element zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Ordnet die Sichtbarkeit des Form-Felds einer Domäneneigenschaft, die einem Form-Element zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode CanEditValue Gibt einen Wert zurück, der angibt, ob der Wert dieses Felds bearbeitet werden kann. (Überschreibt ShapeField.CanEditValue(ShapeElement, DiagramClientView).)
Öffentliche Methode CommitPendingEdit Führt einen Commit für die anstehende Bearbeitung aus. (Überschreibt ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView).)
Öffentliche Methode 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.)
Öffentliche Methode DoKeyboardNavigation Navigiert im Formfeld mithilfe der Tastatur. (Von ShapeField geerbt.)
Öffentliche Methode DoPaint Zeichnet das Textfeld. (Überschreibt ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).)
Öffentliche Methode EditValue(ShapeElement, DiagramClientView) Ruft den direkten Editor auf. (Überschreibt ShapeField.EditValue(ShapeElement, DiagramClientView).)
Öffentliche Methode 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).)
Öffentliche Methode EditValue(ShapeElement, DiagramClientView, String) Ruft den direkten Editor auf und ersetzt den Text durch den angegebenen Text.
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode 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.)
Öffentliche Methode FindFirstChild Sucht das erste untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.)
Öffentliche Methode FindLastChild Sucht das letzte untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.)
Öffentliche Methode FindNextChild Sucht das nächste untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.)
Öffentliche Methode FindNextInChildSubFields Sucht das nächste untergeordnete Shape-Feld in der Navigationsreihenfolge. (Von ShapeField geerbt.)
Öffentliche Methode FindPreviousChild Sucht das vorherige untergeordnete Shape-Feld im übergeordneten Shape-Feld. (Von ShapeField geerbt.)
Öffentliche Methode FindPreviousInChildSubFields Sucht das vorherige untergeordnete Shape-Feld in der Navigationsreihenfolge. (Von ShapeField geerbt.)
Öffentliche Methode Focused Ruft das Feld "Form" ab und überprüft, ob es den Fokus besitzt. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibilityObject Ruft das Barrierefreiheit-Objekt ab, das dem Formfeld zugewiesen wird. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibleChild Ruft das Barrierefreiheit-Objekt für das untergeordnete Formfeld ab. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibleChildCount Ruft die Anzahl der Accessibility-Objekte (Barrierefreiheit) ab, die dem übergeordneten Formfeld und seinen untergeordneten Formfeldern zugewiesen werden. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibleDefaultActionDescription Ruft den Standardzweck des Formfelds für das zugreifbare Objekt ab. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibleDescription Gibt die standardmäßige zugreifbare Beschreibung für ein Textfeld zurück. (Überschreibt ShapeField.GetAccessibleDescription(ShapeElement).)
Öffentliche Methode GetAccessibleHelp Ruft die Hilfe für das Feld "Form" des barrierefreien Objekts ab. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibleHelpTopicFileName Ruft ein Thema in der Hilfe für das barrierefreie Objekt ab. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibleHelpTopicId Ruft die ID ab, die dem Hilfethema zum verfügbaren Objekt zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode GetAccessibleName Gibt den Anzeigetext als den zugreifbaren Namen zurück. (Überschreibt ShapeField.GetAccessibleName(ShapeElement).)
Öffentliche Methode GetAccessibleRole Ruft die zugreifbare Rolle von diesem ShapeField ab. (Überschreibt ShapeField.GetAccessibleRole(ShapeElement).)
Öffentliche Methode 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).)
Öffentliche Methode GetAccessibleValue Gibt den zugreifbaren Wert zurück. (Überschreibt ShapeField.GetAccessibleValue(ShapeElement).)
Öffentliche Methode 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).)
Öffentliche Methode 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.
Öffentliche Methode GetBackgroundBrush Ruft den Pinsel ab, der den Hintergrund für das Formelement zeichnet, dem dieses Formelement zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode GetBackgroundBrushId Ruft die ID des Pinsels ab, der den Hintergrund für das Formelement zeichnet, dem dieses Formfeld zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode GetBounds Ruft die Begrenzungen für das Formfeld ab. (Von ShapeField geerbt.)
Öffentliche Methode GetCursor Ruft den Zeiger ab, der angezeigt wird, wenn der Mauszeiger auf das Formfeld zeigt. (Von ShapeField geerbt.)
Öffentliche Methode GetDisplayText Ruft den durch dieses Feld anzuzeigenden Text ab.
Öffentliche Methode GetFocusable Ruft das Feld "Form" ab und überprüft, ob es den Fokus erhalten kann. (Von ShapeField geerbt.)
Öffentliche Methode GetFont Ruft die Schriftart ab, mit der die angegebene ShapeElement-Instanz gezeichnet wird.
Öffentliche Methode 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.
Öffentliche Methode GetFontId Ruft die ID der Schriftart ab, mit der die angegebene ShapeElement-Instanz gezeichnet wird.
Öffentliche Methode GetHashCode Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche Methode GetInPlaceEditorBounds Ruft die Begrenzungen für den direkten Editor ab. (Von ShapeField geerbt.)
Öffentliche Methode GetMaximumInPlaceEditorSize Standardmäßig kann das direkte Bearbeitungssteuerelement, sein Größe um bis zu 75 Zeichen ändern. (Überschreibt ShapeField.GetMaximumInPlaceEditorSize(ShapeElement).)
Öffentliche Methode GetMinimumInPlaceEditorSize Die minimale direkte Editor-Größe basiert auf der minimalen Zeichenbreite und Zeilenhöhe. (Überschreibt ShapeField.GetMinimumInPlaceEditorSize(ShapeElement).)
Öffentliche Methode GetMinimumSize Ruft die Mindestbreite und Mindesthöhe für dieses ShapeField in globalen Einheiten ab. (Überschreibt ShapeField.GetMinimumSize(ShapeElement).)
Öffentliche Methode GetMultipleLine Wenn "true", kann der Text auf mehrere Zeilen umbrochen werden, um in die verfügbare Breite zu passen.
Öffentliche Methode GetPen Ruft den Stift ab, mit dem das Formelement gezeichnet wird, dem das Formfeld zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode GetPenId Ruft die ID des Stifts ab, mit dem das Formelement gezeichnet wird, dem das Formfeld zugewiesen ist. (Von ShapeField geerbt.)
Öffentliche Methode GetPotentialMouseAction Ruft die Mausaktion ab, die aktiviert werden soll, wenn der Benutzer auf einen bestimmten Punkt im Diagramm klickt. (Von ShapeField geerbt.)
Öffentliche Methode GetSelectable Ruft das Feld "Form" ab und überprüft, ob es ausgewählt werden kann. (Von ShapeField geerbt.)
Öffentliche Methode GetStringFormat Ruft das Zeichenfolgenformat ab, um den Text für die angegebenen ShapeElement-Instanz zu zeichnen.
Öffentliche Methode GetTextBrush Ruft den Pinsel ab, mit dem der Text für die angegebene ShapeElement-Instanz gezeichnet wird.
Öffentliche Methode GetTextBrushId Ruft die ID des Pinsels ab, mit dem der Text für die angegebene ShapeElement-Instanz gezeichnet wird.
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode GetValue Ruft den Wert für dieses TextField ab. (Überschreibt ShapeField.GetValue(ShapeElement).)
Öffentliche Methode GetValueDomainPropertyInfo Ruft die Domäneneigenschaft ab, die dem Wert im Formfeld zugewiesen wird. (Von ShapeField geerbt.)
Öffentliche Methode GetVisible Ruft das Feld "Form" ab und überprüft, ob er angezeigt wird. (Von ShapeField geerbt.)
Öffentliche Methode HasFocusedAppearance Ruft das Feld "Form" ab und überprüft, ob angezeigt werden soll, dass es den Fokus besitzt. (Von ShapeField geerbt.)
Öffentliche Methode HasPendingEdit Gibt einen Wert zurück, der angibt, ob die direkte Bearbeitung aktiv ist, mit einem ausstehenden Commit. (Überschreibt ShapeField.HasPendingEdit(ShapeElement, DiagramClientView).)
Öffentliche Methode HasSelectedAppearance Ruft das Feld "Form" ab und überprüft, ob es ausgewählt wurde. (Von ShapeField geerbt.)
Öffentliche Methode 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.)
Öffentliche Methode 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.)
Geschützte Methode MeasureDisplayText Hilfsprogrammmethode, um den angegebenen Text zu messen.
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode NavigateAscend Verschiebt den Fokus zum vorherigen Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.)
Öffentliche Methode NavigateDescend Verschiebt den Fokus zum nächsten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.)
Öffentliche Methode NavigateToFirst Verschiebt den Fokus zum ersten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.)
Öffentliche Methode NavigateToLast Verschiebt den Fokus zum letzten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.)
Öffentliche Methode NavigateToNext Verschiebt den Fokus zum nächsten Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.)
Öffentliche Methode NavigateToPrevious Verschiebt den Fokus zum vorherigen Formfeld in der Navigationsreihenfolge für die ausgewählten Formen. (Von ShapeField geerbt.)
Geschützte Methode OnBeginEdit Alarmiert Listener, wenn die direkte Bearbeitung begonnen hat. (Von ShapeField geerbt.)
Öffentliche Methode OnClick Alarmiert Listener, wenn der Benutzer auf ein Formfeld geklickt hat. (Von ShapeField geerbt.)
Öffentliche Methode OnDoubleClick Ruft die direkte Bearbeitung standardmäßig auf. (Überschreibt ShapeField.OnDoubleClick(DiagramPointEventArgs).)
Geschützte Methode OnEndEdit Alarmiert Listener, wenn die direkte Bearbeitung beendet ist. (Von ShapeField geerbt.)
Öffentliche Methode OnKeyDown Alarmiert Listener, wenn der Benutzer beim Zeigen auf ein Formfeld eine Taste gedrückt gehalten hat. (Von ShapeField geerbt.)
Öffentliche Methode OnKeyPress Ruft den Editor auf, wenn das Feld bearbeitbar ist und ein alphanumerisches Zeichen eingegeben wird. (Überschreibt ShapeField.OnKeyPress(DiagramKeyPressEventArgs).)
Öffentliche Methode OnKeyUp Alarmiert Listener, wenn der Benutzer beim Zeigen auf ein Formfeld eine Taste losgelassen hat. (Von ShapeField geerbt.)
Öffentliche Methode OnMouseDown Alarmiert Listener, wenn der Benutzer den Mauszeiger über einem Formfeld hält. (Von ShapeField geerbt.)
Öffentliche Methode OnMouseMove Alarmiert Listener, wenn der Mauszeiger über ein Formfeld bewegt wurde. (Von ShapeField geerbt.)
Öffentliche Methode OnMouseUp Alarmiert Listener, wenn der Benutzer die Maustaste über einem Formfeld losgelassen hat. (Von ShapeField geerbt.)
Öffentliche Methode OnMouseWheel Alarmiert Listener, wenn der Mauszeiger über ein Formfeld kreisförmig bewegt wurde. (Von ShapeField geerbt.)
Öffentliche Methode Selected Ruft das Feld "Form" ab und überprüft, ob es ausgewählt ist. (Von ShapeField geerbt.)
Öffentliche Methode SetSelectionRange Legt die Auswahl auf einen Bereich von untergeordneten Formfeldern fest. (Von ShapeField geerbt.)
Öffentliche Methode SetValue Weist den angegebenen Wert einem Formfeld zu. (Von ShapeField geerbt.)
Öffentliche Methode SetVisible Legt die Sichtbarkeit des Formfelds fest. (Von ShapeField geerbt.)
Öffentliche Methode 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.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.Diagrams-Namespace

InitializeShapeFields

StyleSet

ShapeField