Udostępnij za pośrednictwem


Klasa TextField

Lekkie obiekt, który stanowi część kształtu, który może wyświetlać tekst etykiety lub obszarów.

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
    Microsoft.VisualStudio.Modeling.Diagrams.TextField
      Microsoft.VisualStudio.Modeling.Diagrams.LabelTextField

Przestrzeń nazw:  Microsoft.VisualStudio.Modeling.Diagrams
Zestaw:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (w Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Składnia

'Deklaracja
Public Class TextField _
    Inherits ShapeField
public class TextField : ShapeField

Typ TextField uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda publiczna TextField Inicjuje nowe wystąpienie klasy TextField.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna AnchoringBehavior W tym artykule opisano, jak zawartość pola należy położenia i rozmiaru sobie w stosunku do nadrzędnego ShapeElement. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultAccessibleDescription Zwraca lub ustawia domyślny opis dostępne. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultAccessibleName Zwraca lub ustawia domyślną nazwę pola kształtu dla dostępnego obiektu. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultAccessibleState Pobiera stan domyślny pola kształtu dla dostępnego obiektu. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultAutoSize Jeśli true, podać minimalne pole tekstowe rozmiar będzie wzrastał, aby pomieścić długość tekstu diplay.Pola tekstowe Autosizable nadal będzie uwzględniał minimalnych rozmiarów określonych w AnchoringBehavior.
Właściwość publiczna DefaultBackgroundBrushId Zwraca lub ustawia identyfikator domyślnego pędzla do malowania tło pola kształtu. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultCommitOnEscape Pobiera lub ustawia wartość określającą, czy klawisz Escape popełnia Edycja.Jeśli wartość true, klawisza Enter będzie używany jako znaku CRLF do edycji na miejscu.
Właściwość publiczna DefaultFocusable Pobiera pola kształtu i weryfikuje, czy może być ustawiony fokus, lub daje możliwość fokus w polu kształt. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultFontId Zwraca lub ustawia domyślny identyfikator czcionki.
Właściwość publiczna DefaultInactiveSelectedBackgroundBrushId Zwraca lub ustawia identyfikator pędzla tło domyślne, w polu kształtu. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultInactiveSelectedTextBrushId Zwraca lub ustawia domyślny identyfikator pędzla dla nieaktywnych zaznaczonego tekstu.
Właściwość publiczna DefaultIsHorizontal Zwraca lub ustawia domyślny stan poziome tekstu.
Właściwość publiczna DefaultMultipleLine Jeśli ma wartość true, tekst jest automatycznie zawijany na więcej niż jeden wiersz, aby mieścił się w szerokości dostępne.
Właściwość publiczna DefaultPenId Pobiera lub ustawia identyfikator pióro domyślną w polu kształt. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultReflectParentFocusedState Pobiera dziecka kształtu pole i sprawdza, czy klient powinien otrzymać fokus podczas jej kształtu nadrzędnego uzyskuje fokus lub ustawia możliwość odzwierciedlają stan aktywny jej kształtu nadrzędnego. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultReflectParentSelectedState Pobiera dziecka kształtu pole i sprawdza, czy powinien zostać wybrany, gdy jej kształtu nadrzędnego jest zaznaczona lub ustawia możliwość odzwierciedlają stan zaznaczenia kształtu nadrzędnego. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultSelectable Pobiera pola kształtu i sprawdza, czy można wybierać domyślne lub ustawia domyślny stan zaznaczenia pola kształtu. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultSelectedBackgroundBrushId Zwraca lub ustawia identyfikator pędzla tło domyślne, w polu kształtu. (Odziedziczone z ShapeField).
Właściwość publiczna DefaultSelectedTextBrushId Zwraca lub ustawia domyślny identyfikator pędzla do zaznaczonego tekstu.
Właściwość publiczna DefaultStringFormat Zwraca lub ustawia domyślny format ciągu tekstu rysunku.
Właściwość publiczna DefaultText Zwraca lub ustawia domyślny tekst do rysowania.
Właściwość publiczna DefaultTextBrushId Zwraca lub ustawia domyślny identyfikator pędzla na tekst.
Właściwość publiczna DefaultVisibility Pobiera pola kształtu i weryfikuje, czy pojawia się domyślnie lub ustawia domyślną widoczność pola kształtu. (Odziedziczone z ShapeField).
Właściwość publiczna DisplayMember Zwraca lub ustawia nazwę właściwości, z którym skojarzona jest wyświetlany tekst.
Właściwość publiczna DrawBorder (Nie używaj - zostanie zmieniona)
Właściwość publiczna FillBackground (Nie używaj - zostanie zmieniona)
Właściwość publiczna Name Pobiera nazwę pola kształtu. (Odziedziczone z ShapeField).

Początek

Metody

  Nazwa Opis
Metoda publiczna AccessibleDoDefaultAction Wykonuje akcję domyślnego dla dostępnego obiektu. (Odziedziczone z ShapeField).
Metoda publiczna AllowInPlaceEditorAutoSize Domyślnie umożliwia w miejsce w edytorze rozmiar automatycznie, jeśli, że pole obsługuje automatyczne dopasowywanie rozmiaru. (Zastępuje ShapeField.AllowInPlaceEditorAutoSize(ShapeElement)).
Metoda publiczna AssociateValueWith(Store, AssociatedPropertyInfo) Kojarzy pole kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField).
Metoda publiczna AssociateValueWith(Store, Guid) Kojarzy pole kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField).
Metoda publiczna AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Kojarzy pole kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField).
Metoda publiczna AssociateVisibilityWith(Store, AssociatedPropertyInfo) Kojarzy widoczność pola kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField).
Metoda publiczna AssociateVisibilityWith(Store, Guid) Kojarzy widoczność pola kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField).
Metoda publiczna AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Kojarzy widoczność pola kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField).
Metoda publiczna CanEditValue Zwraca wartość wskazującą, czy wartość tego pola może być edytowana. (Zastępuje ShapeField.CanEditValue(ShapeElement, DiagramClientView)).
Metoda publiczna CommitPendingEdit Przydziela Edycja oczekujące. (Zastępuje ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView)).
Metoda publiczna DoHitTest Wykonuje test trafień określonego punktu na diagramie, aby ustalić, czy punkt znajduje się w obwiedni pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna DoKeyboardNavigation Nawiguje w polu kształtu za pomocą klawiatury. (Odziedziczone z ShapeField).
Metoda publiczna DoPaint Rysuje pole tekstowe. (Zastępuje ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)).
Metoda publiczna EditValue(ShapeElement, DiagramClientView) Wywołuje edytora w miejscu. (Zastępuje ShapeField.EditValue(ShapeElement, DiagramClientView)).
Metoda publiczna EditValue(ShapeElement, DiagramClientView, PointD) Wywołuje edytora w miejscu, ustawianie przy użyciu pozycji myszy określonego znaku karetki. (Zastępuje ShapeField.EditValue(ShapeElement, DiagramClientView, PointD)).
Metoda publiczna EditValue(ShapeElement, DiagramClientView, String) Wywołuje edytora w miejscu, zastępując tekst określony tekst.
Metoda publiczna Equals Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object).
Metoda chroniona Finalize Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania przed jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object).
Metoda publiczna FindFirstChild Lokalizuje pierwsze pole podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField).
Metoda publiczna FindLastChild Lokalizuje ostatnie pole podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField).
Metoda publiczna FindNextChild Lokalizuje następne pole podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField).
Metoda publiczna FindNextInChildSubFields Lokalizuje następne pole kształt podrzędny w sekwencji nawigacji. (Odziedziczone z ShapeField).
Metoda publiczna FindPreviousChild Lokalizuje poprzedniego pola podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField).
Metoda publiczna FindPreviousInChildSubFields Lokalizuje poprzednie pole kształt podrzędny w sekwencji nawigacji. (Odziedziczone z ShapeField).
Metoda publiczna Focused Pobiera pola kształtu i sprawdza, czy ma ona fokus. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibilityObject Pobiera obiekt ułatwień dostępu, który jest przypisany do pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibleChild Pobiera obiekt dostępności dla pola podrzędne kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibleChildCount Zwraca liczbę obiektów ułatwień dostępu, które są przypisane do pola nadrzędnego kształtu i jego podrzędne pola łączące kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibleDefaultActionDescription Pobiera domyślnego celu pole kształtu dla dostępnego obiektu. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibleDescription Zwraca domyślny opis dostępne dla pola tekstowego. (Zastępuje ShapeField.GetAccessibleDescription(ShapeElement)).
Metoda publiczna GetAccessibleHelp Pobiera pola kształtu pomocy dla dostępnego obiektu. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibleHelpTopicFileName Pobiera tematu pomocy dla dostępnego obiektu. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibleHelpTopicId Pobiera identyfikator przypisany do tematu pomocy dla dostępnego obiektu. (Odziedziczone z ShapeField).
Metoda publiczna GetAccessibleName Zwraca tekst wyświetlany jako Nazwa ułatwiająca dostęp. (Zastępuje ShapeField.GetAccessibleName(ShapeElement)).
Metoda publiczna GetAccessibleRole Pobiera dostępne rolę tego ShapeField. (Zastępuje ShapeField.GetAccessibleRole(ShapeElement)).
Metoda publiczna GetAccessibleState Pobiera dostępny stan tego TextField.Domyślnie TextField jest niewidoczny klientom dostępności, jeśli pole to nie jest z możliwością przeniesienia fokusu i nie istnieje żaden tekst, aby wyświetlić. (Zastępuje ShapeField.GetAccessibleState(ShapeElement, DiagramClientView)).
Metoda publiczna GetAccessibleValue Zwraca wartość dostępne. (Zastępuje ShapeField.GetAccessibleValue(ShapeElement)).
Metoda publiczna GetActiveInPlaceEditor Sterowanie jest zwracane do aktywnego edytora w miejscu.Ta metoda może zwracać wartości zerowej, w którym to przypadku edytora w miejscu, nie jest aktywny dla tego pola. (Zastępuje ShapeField.GetActiveInPlaceEditor(ShapeElement, DiagramClientView)).
Metoda publiczna GetAutoSize Jeśli wartość true, minimalny wymagany rozmiar pola tekstowego będzie wzrastał, aby pomieścić długość tekstu diplay.Pola tekstowe Autosizable nadal będzie uwzględniał minimalnych rozmiarów określonych w AnchoringBehavior.
Metoda publiczna GetBackgroundBrush Pobiera pędzla, która rysuje tła dla elementu kształtu, do której przypisany jest to pole kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetBackgroundBrushId Pobiera identyfikator pędzla, która rysuje tła dla elementu kształtu, do której przypisany jest to pole kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetBounds Pobiera granice, w polu kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetCursor Pobiera wskaźnik, który pojawia się, gdy myszą w polu kształt. (Odziedziczone z ShapeField).
Metoda publiczna GetDisplayText Pobiera tekst, które mają być wyświetlane według tego pola.
Metoda publiczna GetFocusable Pobiera pola kształtu i sprawdza, czy może odbierać fokus. (Odziedziczone z ShapeField).
Metoda publiczna GetFont Pobiera czcionki, aby rysować dla określonej instancji ShapeElement.
Metoda publiczna GetFontHeight Pobiera odstępy między wierszami, to czcionki (tzn. wysokość wiersza tekstu) w jednostkach.Interlinia jest przejście + pochodzenia + zalecane niektóre dodatkowe.Przejście jest wysokość znaku powyżej linii bazowej i prostego jest wysokość znaków poniżej linii bazowej.Dodatkowy jest poniżej pochodzenia.
Metoda publiczna GetFontId Pobiera identyfikator czcionki, aby rysować dla określonej instancji ShapeElement.
Metoda publiczna GetHashCode Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object).
Metoda publiczna GetInPlaceEditorBounds Pobiera granice dla edytora w miejscu. (Odziedziczone z ShapeField).
Metoda publiczna GetMaximumInPlaceEditorSize Domyślnie firma Microsoft zezwala formant edycji w miejscu zmienić rozmiar znaków maksymalnie 75. (Zastępuje ShapeField.GetMaximumInPlaceEditorSize(ShapeElement)).
Metoda publiczna GetMinimumInPlaceEditorSize Rozmiar minimalny edytora w miejsce opiera się na minimalną szerokość w znakach i wysokość w wierszach. (Zastępuje ShapeField.GetMinimumInPlaceEditorSize(ShapeElement)).
Metoda publiczna GetMinimumSize Pobiera minimalna szerokość i heightfor to ShapeField w jednostkach świata (Zastępuje ShapeField.GetMinimumSize(ShapeElement)).
Metoda publiczna GetMultipleLine Jeśli wartość true, tekst można zawijać się na więcej niż jeden wiersz w celu dopasowania do szerokości, które są dostępne.
Metoda publiczna GetPen Pobiera Pióro rysuje element kształtu, do którego przypisano pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetPenId Pobiera identyfikator Pióro rysuje element kształtu, do którego przypisano pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna GetPotentialMouseAction Pobiera działania myszy Uaktywnij, gdy użytkownik kliknie przycisk Następny określonego punktu na diagramie. (Odziedziczone z ShapeField).
Metoda publiczna GetSelectable Pobiera pola kształtu i sprawdza, czy może być zaznaczony. (Odziedziczone z ShapeField).
Metoda publiczna GetStringFormat Pobiera format ciągu do rysowania tekst z dla określonej instancji ShapeElement.
Metoda publiczna GetTextBrush Pobiera pędzla, aby narysować tekst z dla określonej instancji ShapeElement.
Metoda publiczna GetTextBrushId Pobiera identyfikator pędzla, aby narysować tekst z dla określonej instancji ShapeElement.
Metoda publiczna GetType Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object).
Metoda publiczna GetValue Pobiera wartość dla tego TextField. (Zastępuje ShapeField.GetValue(ShapeElement)).
Metoda publiczna GetValueDomainPropertyInfo Pobiera właściwość domeny, która jest przypisana do wartości w polu kształt. (Odziedziczone z ShapeField).
Metoda publiczna GetVisible Pobiera pola kształtu i sprawdza, czy pojawia się. (Odziedziczone z ShapeField).
Metoda publiczna HasFocusedAppearance Pobiera pola kształtu i sprawdza, czy mają być wyświetlane ma fokus. (Odziedziczone z ShapeField).
Metoda publiczna HasPendingEdit Zwraca wartość wskazującą, czy jest aktywny z commit czasu edycji na miejscu. (Zastępuje ShapeField.HasPendingEdit(ShapeElement, DiagramClientView)).
Metoda publiczna HasSelectedAppearance Pobiera pola kształtu i sprawdza, czy wydaje się być zaznaczone. (Odziedziczone z ShapeField).
Metoda publiczna IsNavigationKey(Char) Pobiera klucz, który użytkownik naciśnięcia i sprawdza, czy może służyć do nawigacji między polami kształtu. (Odziedziczone z ShapeField).
Metoda publiczna IsNavigationKey(Keys) Pobiera klucze, które użytkownik naciśnięcia i sprawdza, czy one mogą być używane do nawigacji między polami kształtu. (Odziedziczone z ShapeField).
Metoda chroniona MeasureDisplayText Metody pomocnika do mierzenia podany tekst.
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna NavigateAscend Przenosi fokus do poprzedniego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField).
Metoda publiczna NavigateDescend Przenosi fokus do następnego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField).
Metoda publiczna NavigateToFirst Przenosi fokus do pierwszego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField).
Metoda publiczna NavigateToLast Przeniesienie fokusu z ostatniego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField).
Metoda publiczna NavigateToNext Przenosi fokus do następnego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField).
Metoda publiczna NavigateToPrevious Przenosi fokus do poprzedniego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField).
Metoda chroniona OnBeginEdit Detektory alertów podczas edycji w miejscu został rozpoczęty. (Odziedziczone z ShapeField).
Metoda publiczna OnClick Detektory alerty, gdy użytkownik kliknie pole kształtu. (Odziedziczone z ShapeField).
Metoda publiczna OnDoubleClick Wywołuje edycji na miejscu domyślnie. (Zastępuje ShapeField.OnDoubleClick(DiagramPointEventArgs)).
Metoda chroniona OnEndEdit Detektory alerty po zakończeniu edycji na miejscu. (Odziedziczone z ShapeField).
Metoda publiczna OnKeyDown Detektory alerty użytkownika ma przytrzymanie wciśniętego klawisza po wskazaniu pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna OnKeyPress Wywołuje edytor, wpisano dowolny znak alfanumeryczny, jeśli pole jest edytowalne. (Zastępuje ShapeField.OnKeyPress(DiagramKeyPressEventArgs)).
Metoda publiczna OnKeyUp Detektory alerty, gdy użytkownik wydała klucz po wskazaniu pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna OnMouseDown Detektory alerty, gdy użytkownik trzyma naciśnięty przycisk myszy nad polem kształtu. (Odziedziczone z ShapeField).
Metoda publiczna OnMouseMove Detektory alerty, gdy mysz nad polem kształt został przeniesiony. (Odziedziczone z ShapeField).
Metoda publiczna OnMouseUp Detektory alerty, gdy użytkownik wydała przycisku myszy nad polem kształtu. (Odziedziczone z ShapeField).
Metoda publiczna OnMouseWheel Detektory alerty, gdy wskaźnik myszy nad polem kształt został obrócony. (Odziedziczone z ShapeField).
Metoda publiczna Selected Pobiera pola kształtu i sprawdza, czy jest zaznaczone. (Odziedziczone z ShapeField).
Metoda publiczna SetSelectionRange Ustawia zakres podrzędne pola łączące kształtu zaznaczenia. (Odziedziczone z ShapeField).
Metoda publiczna SetValue Przypisuje wartość określonego pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna SetVisible Określa widoczność pola kształtu. (Odziedziczone z ShapeField).
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).

Początek

Uwagi

Po zdefiniowaniu dekorator tekstu w kształcie jest reprezentowana przez składnika TextField.Przykłady inicjowania TextFields i innych ShapeFields należy sprawdzić Dsl\GeneratedCode\Shapes.cs w rozwiązaniu DSL.

TextField jest obiekt, który zarządza obszaru w obrębie kształtu, takie jak miejsce na przypisane do etykiety.Jednej instancji TextField jest współużytkowane przez wiele kształtów na tej samej klasy.Instancji TextField nie przechowywać tekst etykiety, oddzielnie dla każdego wystąpienia: zamiast, GetDisplayText(ShapeElement) przyjmuje kształt jako parametr metody i można wyszukiwać tekst zależne od bieżącego stanu kształtu i jego elementu modelu.

W jaki sposób jest określana wyglądu pola tekstowego

Domyślnie DoPaint() metoda wykonuje te zadania.Jest to prezentacja uproszczonego, jego kodu:

// 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; }

Istnieje kilka innych par Get metody i Default właściwości, takie jak DefaultMultipleLine/GetMultipleLine().Można przypisać wartość domyślną właściwość w celu zmiany wartości dla wszystkich wystąpień pola kształtu.Aby wprowadzić wartość różnią się w instancji jednego kształtu do innego lub zależne od Państwa kształtu lub jego element modelu, należy zastąpić Get metody.

Dostosowania statyczne

Jeśli chcesz zmienić każde wystąpienie tego pola kształtu, najpierw sprawdź, czy należy ustawić właściwość w definicji DSL.Na przykład można ustawić stylu i rozmiaru czcionki w oknie dialogowym właściwości.

Jeśli nie, następnie zastąpić InitializeShapeFields metodę klasy shape i przypisywanie wartości do odpowiednich Default... właściwości pola tekstowego.

Informacje dotyczące przestrogiPrzestroga

Aby zastąpić InitializeShapeFields(), należy ustawić Generuje podwójne uzyskane właściwości kształtu klasy do true w definicji DSL.

W tym przykładzie kształt ma pole tekstowe, używanego do uwagi użytkownika.Chcemy użyć czcionki standardowe komentarz.Ponieważ Czcionka standardowa z zestaw stylów, możemy ustawić domyślny identyfikator czcionki:

 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;

Modyfikacje dynamiczne

Uzależnić wygląd, różnią się od stanu kształtu lub jego element modelu, mają swoje własne podklasy TextField i zastąpienie jednego lub więcej Get... metody.Musi także zastępować metodę InitializeShapeFields na kształt i zastąpić instancji TextField w instancji klasy własne.

Poniższy przykład sprawia, że czcionki pole tekstowe jest uzależniona od Państwa właściwość logiczna domeny kształtu elementu modelu.

Aby uruchomić ten przykład kodu, należy utworzyć nowe rozwiązanie DSL, przy użyciu szablonu minimalne języka.Dodaj właściwość logiczna domeny AlternateState do klasy ExampleElement domeny.Dodać ikonę dekorator do klasy ExampleShape i ustaw jego obraz do pliku mapy bitowej.Kliknij przycisk Transform wszystkie szablony.Dodawanie nowego pliku kodu w programie project DSL i wstawić następujący kod.

Aby przetestować kod, naciśnij klawisz F5, a w roztworze debugowania, Otwórz przykładowy diagram.Domyślny stan ikony powinny być widoczne.Zaznacz kształt, a następnie w oknie Właściwości zmień wartość AlternateState właściwości.Należy zmienić czcionkę nazwę elementu.

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);
    }

  }

Zestawy stylów

Powyższy przykład pokazuje, jak można zmienić pole tekstowe do każdej czcionki, który jest dostępny.Jednak metoda lepiej jest zmienić jeden zestaw stylów, który jest skojarzony z kształtem lub z aplikacji.Aby to zrobić, można zastąpić GetFontId lub GetTextBrushId().

Alternatywnie, należy rozważyć zmianę zestaw stylów kształtu nadrzędnym InitializeResources.Ma to wpływ zmiana czcionki i pędzle dla wszystkich pól kształtu.

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Modeling.Diagrams

InitializeShapeFields

StyleSet

ShapeField