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 | |
---|---|---|
![]() |
TextField | Inicjuje nowe wystąpienie klasy TextField. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
![]() |
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). |
![]() |
DefaultAccessibleDescription | Zwraca lub ustawia domyślny opis dostępne. (Odziedziczone z ShapeField). |
![]() |
DefaultAccessibleName | Zwraca lub ustawia domyślną nazwę pola kształtu dla dostępnego obiektu. (Odziedziczone z ShapeField). |
![]() |
DefaultAccessibleState | Pobiera stan domyślny pola kształtu dla dostępnego obiektu. (Odziedziczone z ShapeField). |
![]() |
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. |
![]() |
DefaultBackgroundBrushId | Zwraca lub ustawia identyfikator domyślnego pędzla do malowania tło pola kształtu. (Odziedziczone z ShapeField). |
![]() |
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. |
![]() |
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). |
![]() |
DefaultFontId | Zwraca lub ustawia domyślny identyfikator czcionki. |
![]() |
DefaultInactiveSelectedBackgroundBrushId | Zwraca lub ustawia identyfikator pędzla tło domyślne, w polu kształtu. (Odziedziczone z ShapeField). |
![]() |
DefaultInactiveSelectedTextBrushId | Zwraca lub ustawia domyślny identyfikator pędzla dla nieaktywnych zaznaczonego tekstu. |
![]() |
DefaultIsHorizontal | Zwraca lub ustawia domyślny stan poziome tekstu. |
![]() |
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. |
![]() |
DefaultPenId | Pobiera lub ustawia identyfikator pióro domyślną w polu kształt. (Odziedziczone z ShapeField). |
![]() |
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). |
![]() |
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). |
![]() |
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). |
![]() |
DefaultSelectedBackgroundBrushId | Zwraca lub ustawia identyfikator pędzla tło domyślne, w polu kształtu. (Odziedziczone z ShapeField). |
![]() |
DefaultSelectedTextBrushId | Zwraca lub ustawia domyślny identyfikator pędzla do zaznaczonego tekstu. |
![]() |
DefaultStringFormat | Zwraca lub ustawia domyślny format ciągu tekstu rysunku. |
![]() |
DefaultText | Zwraca lub ustawia domyślny tekst do rysowania. |
![]() |
DefaultTextBrushId | Zwraca lub ustawia domyślny identyfikator pędzla na tekst. |
![]() |
DefaultVisibility | Pobiera pola kształtu i weryfikuje, czy pojawia się domyślnie lub ustawia domyślną widoczność pola kształtu. (Odziedziczone z ShapeField). |
![]() |
DisplayMember | Zwraca lub ustawia nazwę właściwości, z którym skojarzona jest wyświetlany tekst. |
![]() |
DrawBorder | (Nie używaj - zostanie zmieniona) |
![]() |
FillBackground | (Nie używaj - zostanie zmieniona) |
![]() |
Name | Pobiera nazwę pola kształtu. (Odziedziczone z ShapeField). |
Początek
Metody
Nazwa | Opis | |
---|---|---|
![]() |
AccessibleDoDefaultAction | Wykonuje akcję domyślnego dla dostępnego obiektu. (Odziedziczone z ShapeField). |
![]() |
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)). |
![]() |
AssociateValueWith(Store, AssociatedPropertyInfo) | Kojarzy pole kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField). |
![]() |
AssociateValueWith(Store, Guid) | Kojarzy pole kształtu z właściwością domeny, która jest przypisana do elementu kształtu. (Odziedziczone z ShapeField). |
![]() |
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). |
![]() |
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). |
![]() |
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). |
![]() |
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). |
![]() |
CanEditValue | Zwraca wartość wskazującą, czy wartość tego pola może być edytowana. (Zastępuje ShapeField.CanEditValue(ShapeElement, DiagramClientView)). |
![]() |
CommitPendingEdit | Przydziela Edycja oczekujące. (Zastępuje ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView)). |
![]() |
DoHitTest | Wykonuje test trafień określonego punktu na diagramie, aby ustalić, czy punkt znajduje się w obwiedni pola kształtu. (Odziedziczone z ShapeField). |
![]() |
DoKeyboardNavigation | Nawiguje w polu kształtu za pomocą klawiatury. (Odziedziczone z ShapeField). |
![]() |
DoPaint | Rysuje pole tekstowe. (Zastępuje ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement)). |
![]() |
EditValue(ShapeElement, DiagramClientView) | Wywołuje edytora w miejscu. (Zastępuje ShapeField.EditValue(ShapeElement, DiagramClientView)). |
![]() |
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)). |
![]() |
EditValue(ShapeElement, DiagramClientView, String) | Wywołuje edytora w miejscu, zastępując tekst określony tekst. |
![]() |
Equals | Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object). |
![]() |
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). |
![]() |
FindFirstChild | Lokalizuje pierwsze pole podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField). |
![]() |
FindLastChild | Lokalizuje ostatnie pole podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField). |
![]() |
FindNextChild | Lokalizuje następne pole podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField). |
![]() |
FindNextInChildSubFields | Lokalizuje następne pole kształt podrzędny w sekwencji nawigacji. (Odziedziczone z ShapeField). |
![]() |
FindPreviousChild | Lokalizuje poprzedniego pola podrzędne kształtu w polu kształtu nadrzędnego. (Odziedziczone z ShapeField). |
![]() |
FindPreviousInChildSubFields | Lokalizuje poprzednie pole kształt podrzędny w sekwencji nawigacji. (Odziedziczone z ShapeField). |
![]() |
Focused | Pobiera pola kształtu i sprawdza, czy ma ona fokus. (Odziedziczone z ShapeField). |
![]() |
GetAccessibilityObject | Pobiera obiekt ułatwień dostępu, który jest przypisany do pola kształtu. (Odziedziczone z ShapeField). |
![]() |
GetAccessibleChild | Pobiera obiekt dostępności dla pola podrzędne kształtu. (Odziedziczone z ShapeField). |
![]() |
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). |
![]() |
GetAccessibleDefaultActionDescription | Pobiera domyślnego celu pole kształtu dla dostępnego obiektu. (Odziedziczone z ShapeField). |
![]() |
GetAccessibleDescription | Zwraca domyślny opis dostępne dla pola tekstowego. (Zastępuje ShapeField.GetAccessibleDescription(ShapeElement)). |
![]() |
GetAccessibleHelp | Pobiera pola kształtu pomocy dla dostępnego obiektu. (Odziedziczone z ShapeField). |
![]() |
GetAccessibleHelpTopicFileName | Pobiera tematu pomocy dla dostępnego obiektu. (Odziedziczone z ShapeField). |
![]() |
GetAccessibleHelpTopicId | Pobiera identyfikator przypisany do tematu pomocy dla dostępnego obiektu. (Odziedziczone z ShapeField). |
![]() |
GetAccessibleName | Zwraca tekst wyświetlany jako Nazwa ułatwiająca dostęp. (Zastępuje ShapeField.GetAccessibleName(ShapeElement)). |
![]() |
GetAccessibleRole | Pobiera dostępne rolę tego ShapeField. (Zastępuje ShapeField.GetAccessibleRole(ShapeElement)). |
![]() |
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)). |
![]() |
GetAccessibleValue | Zwraca wartość dostępne. (Zastępuje ShapeField.GetAccessibleValue(ShapeElement)). |
![]() |
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)). |
![]() |
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. |
![]() |
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). |
![]() |
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). |
![]() |
GetBounds | Pobiera granice, w polu kształtu. (Odziedziczone z ShapeField). |
![]() |
GetCursor | Pobiera wskaźnik, który pojawia się, gdy myszą w polu kształt. (Odziedziczone z ShapeField). |
![]() |
GetDisplayText | Pobiera tekst, które mają być wyświetlane według tego pola. |
![]() |
GetFocusable | Pobiera pola kształtu i sprawdza, czy może odbierać fokus. (Odziedziczone z ShapeField). |
![]() |
GetFont | Pobiera czcionki, aby rysować dla określonej instancji ShapeElement. |
![]() |
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. |
![]() |
GetFontId | Pobiera identyfikator czcionki, aby rysować dla określonej instancji ShapeElement. |
![]() |
GetHashCode | Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object). |
![]() |
GetInPlaceEditorBounds | Pobiera granice dla edytora w miejscu. (Odziedziczone z ShapeField). |
![]() |
GetMaximumInPlaceEditorSize | Domyślnie firma Microsoft zezwala formant edycji w miejscu zmienić rozmiar znaków maksymalnie 75. (Zastępuje ShapeField.GetMaximumInPlaceEditorSize(ShapeElement)). |
![]() |
GetMinimumInPlaceEditorSize | Rozmiar minimalny edytora w miejsce opiera się na minimalną szerokość w znakach i wysokość w wierszach. (Zastępuje ShapeField.GetMinimumInPlaceEditorSize(ShapeElement)). |
![]() |
GetMinimumSize | Pobiera minimalna szerokość i heightfor to ShapeField w jednostkach świata (Zastępuje ShapeField.GetMinimumSize(ShapeElement)). |
![]() |
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. |
![]() |
GetPen | Pobiera Pióro rysuje element kształtu, do którego przypisano pola kształtu. (Odziedziczone z ShapeField). |
![]() |
GetPenId | Pobiera identyfikator Pióro rysuje element kształtu, do którego przypisano pola kształtu. (Odziedziczone z ShapeField). |
![]() |
GetPotentialMouseAction | Pobiera działania myszy Uaktywnij, gdy użytkownik kliknie przycisk Następny określonego punktu na diagramie. (Odziedziczone z ShapeField). |
![]() |
GetSelectable | Pobiera pola kształtu i sprawdza, czy może być zaznaczony. (Odziedziczone z ShapeField). |
![]() |
GetStringFormat | Pobiera format ciągu do rysowania tekst z dla określonej instancji ShapeElement. |
![]() |
GetTextBrush | Pobiera pędzla, aby narysować tekst z dla określonej instancji ShapeElement. |
![]() |
GetTextBrushId | Pobiera identyfikator pędzla, aby narysować tekst z dla określonej instancji ShapeElement. |
![]() |
GetType | Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object). |
![]() |
GetValue | Pobiera wartość dla tego TextField. (Zastępuje ShapeField.GetValue(ShapeElement)). |
![]() |
GetValueDomainPropertyInfo | Pobiera właściwość domeny, która jest przypisana do wartości w polu kształt. (Odziedziczone z ShapeField). |
![]() |
GetVisible | Pobiera pola kształtu i sprawdza, czy pojawia się. (Odziedziczone z ShapeField). |
![]() |
HasFocusedAppearance | Pobiera pola kształtu i sprawdza, czy mają być wyświetlane ma fokus. (Odziedziczone z ShapeField). |
![]() |
HasPendingEdit | Zwraca wartość wskazującą, czy jest aktywny z commit czasu edycji na miejscu. (Zastępuje ShapeField.HasPendingEdit(ShapeElement, DiagramClientView)). |
![]() |
HasSelectedAppearance | Pobiera pola kształtu i sprawdza, czy wydaje się być zaznaczone. (Odziedziczone z ShapeField). |
![]() |
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). |
![]() |
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). |
![]() |
MeasureDisplayText | Metody pomocnika do mierzenia podany tekst. |
![]() |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). |
![]() |
NavigateAscend | Przenosi fokus do poprzedniego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField). |
![]() |
NavigateDescend | Przenosi fokus do następnego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField). |
![]() |
NavigateToFirst | Przenosi fokus do pierwszego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField). |
![]() |
NavigateToLast | Przeniesienie fokusu z ostatniego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField). |
![]() |
NavigateToNext | Przenosi fokus do następnego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField). |
![]() |
NavigateToPrevious | Przenosi fokus do poprzedniego pola kształtu w sekwencji nawigacji dla zaznaczonych kształtów. (Odziedziczone z ShapeField). |
![]() |
OnBeginEdit | Detektory alertów podczas edycji w miejscu został rozpoczęty. (Odziedziczone z ShapeField). |
![]() |
OnClick | Detektory alerty, gdy użytkownik kliknie pole kształtu. (Odziedziczone z ShapeField). |
![]() |
OnDoubleClick | Wywołuje edycji na miejscu domyślnie. (Zastępuje ShapeField.OnDoubleClick(DiagramPointEventArgs)). |
![]() |
OnEndEdit | Detektory alerty po zakończeniu edycji na miejscu. (Odziedziczone z ShapeField). |
![]() |
OnKeyDown | Detektory alerty użytkownika ma przytrzymanie wciśniętego klawisza po wskazaniu pola kształtu. (Odziedziczone z ShapeField). |
![]() |
OnKeyPress | Wywołuje edytor, wpisano dowolny znak alfanumeryczny, jeśli pole jest edytowalne. (Zastępuje ShapeField.OnKeyPress(DiagramKeyPressEventArgs)). |
![]() |
OnKeyUp | Detektory alerty, gdy użytkownik wydała klucz po wskazaniu pola kształtu. (Odziedziczone z ShapeField). |
![]() |
OnMouseDown | Detektory alerty, gdy użytkownik trzyma naciśnięty przycisk myszy nad polem kształtu. (Odziedziczone z ShapeField). |
![]() |
OnMouseMove | Detektory alerty, gdy mysz nad polem kształt został przeniesiony. (Odziedziczone z ShapeField). |
![]() |
OnMouseUp | Detektory alerty, gdy użytkownik wydała przycisku myszy nad polem kształtu. (Odziedziczone z ShapeField). |
![]() |
OnMouseWheel | Detektory alerty, gdy wskaźnik myszy nad polem kształt został obrócony. (Odziedziczone z ShapeField). |
![]() |
Selected | Pobiera pola kształtu i sprawdza, czy jest zaznaczone. (Odziedziczone z ShapeField). |
![]() |
SetSelectionRange | Ustawia zakres podrzędne pola łączące kształtu zaznaczenia. (Odziedziczone z ShapeField). |
![]() |
SetValue | Przypisuje wartość określonego pola kształtu. (Odziedziczone z ShapeField). |
![]() |
SetVisible | Określa widoczność pola kształtu. (Odziedziczone z ShapeField). |
![]() |
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.
![]() |
---|
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.