TextField – třída
Lehký objekt, který představuje část obrazce, které lze zobrazit textové popisky nebo oblastí.
Hierarchie dědičnosti
System.Object
Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
Microsoft.VisualStudio.Modeling.Diagrams.TextField
Microsoft.VisualStudio.Modeling.Diagrams.LabelTextField
Obor názvů: Microsoft.VisualStudio.Modeling.Diagrams
Sestavení: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (v Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)
Syntaxe
'Deklarace
Public Class TextField _
Inherits ShapeField
public class TextField : ShapeField
Typ TextField zveřejňuje následující členy.
Konstruktory
Název | Popis | |
---|---|---|
TextField | Inicializuje novou instanci třídy TextField. |
Nahoru
Vlastnosti
Název | Popis | |
---|---|---|
AnchoringBehavior | Popisuje, jak by obsah pole umístění a velikost samotného v nadřazené ShapeElement. (Zděděno z ShapeField.) | |
DefaultAccessibleDescription | Získá nebo nastaví výchozí popis přístupné. (Zděděno z ShapeField.) | |
DefaultAccessibleName | Získá nebo nastaví výchozí název pole obrazce pro přístupný objekt. (Zděděno z ShapeField.) | |
DefaultAccessibleState | Načte výchozí stav pole obrazce pro přístupný objekt. (Zděděno z ShapeField.) | |
DefaultAutoSize | Pokud PRAVDA, textové pole minimální velikost narůstat tak, aby odpovídal délce textu diplay.Autosizable textové pole stále respektuje minimální velikost AnchoringBehavior. | |
DefaultBackgroundBrushId | Získá nebo nastaví ID výchozí štětec k malování na pozadí pole obrazce. (Zděděno z ShapeField.) | |
DefaultCommitOnEscape | Získá nebo nastaví hodnotu označující, zda klávesy Escape potvrdí úpravy.Pokud je hodnota true, klávesa Enter používá jako znak CRLF pro úpravy na místě. | |
DefaultFocusable | Načte pole obrazce a ověří, zda lze aktivovat nebo umožňuje pole obrazec vybrán. (Zděděno z ShapeField.) | |
DefaultFontId | Získá nebo nastaví výchozí písmo id. | |
DefaultInactiveSelectedBackgroundBrushId | Získá nebo nastaví ID stopy výchozího pozadí pro pole obrazce. (Zděděno z ShapeField.) | |
DefaultInactiveSelectedTextBrushId | Získá nebo nastaví výchozí id stopy pro neaktivní vybraného textu. | |
DefaultIsHorizontal | Získá nebo nastaví výchozí stav vodorovný text. | |
DefaultMultipleLine | Pokud je hodnota true, se text zalamoval automaticky přes více než jeden řádek, aby se vešel do šířky, které jsou k dispozici. | |
DefaultPenId | Získá nebo nastaví ID pera výchozí tvar pole. (Zděděno z ShapeField.) | |
DefaultReflectParentFocusedState | Získá podřízené obrazce pole a ověří, zda ji měli aktivovat při jeho nadřazený obrazec vybrán nebo nastaví schopnost odrážet stav zaměření jeho nadřazeného obrazce. (Zděděno z ShapeField.) | |
DefaultReflectParentSelectedState | Získá podřízené obrazce pole a ověří, zda ji musí být vybrána při jeho nadřazeného obrazce výběru nebo nastaví schopnost odrážet stavu výběru jeho nadřazeného obrazce. (Zděděno z ShapeField.) | |
DefaultSelectable | Získá pole obrazce a ověří, zda lze vybrat výchozí nebo nastaví výchozí stav výběru pole obrazce. (Zděděno z ShapeField.) | |
DefaultSelectedBackgroundBrushId | Získá nebo nastaví ID stopy výchozího pozadí pro pole obrazce. (Zděděno z ShapeField.) | |
DefaultSelectedTextBrushId | Získá nebo nastaví výchozí id stopy pro vybraný text. | |
DefaultStringFormat | Získá nebo nastaví výchozí formát řetězce textu výkresu. | |
DefaultText | Získá nebo nastaví výchozí text kreslení. | |
DefaultTextBrushId | Získá nebo nastaví výchozí id stopy pro text. | |
DefaultVisibility | Načte pole obrazce a ověří, zda se standardně zobrazí nebo nastaví výchozí viditelnost pole obrazce. (Zděděno z ShapeField.) | |
DisplayMember | Získá nebo nastaví název vlastnosti, spojenou s zobrazeného textu. | |
DrawBorder | (Nepoužívejte - bude změněno) | |
FillBackground | (Nepoužívejte - bude změněno) | |
Name | Získá název pole obrazce. (Zděděno z ShapeField.) |
Nahoru
Metody
Název | Popis | |
---|---|---|
AccessibleDoDefaultAction | Provede výchozí akce pro přístupný objekt. (Zděděno z ShapeField.) | |
AllowInPlaceEditorAutoSize | Standardně povolit automaticky přímo v editoru na velikost, pokud pole podporuje automatickou velikost. (Přepisuje ShapeField.AllowInPlaceEditorAutoSize(ShapeElement).) | |
AssociateValueWith(Store, AssociatedPropertyInfo) | Vlastnost domény přiřazené k prvku tvar přidruží pole obrazce. (Zděděno z ShapeField.) | |
AssociateValueWith(Store, Guid) | Vlastnost domény přiřazené k prvku tvar přidruží pole obrazce. (Zděděno z ShapeField.) | |
AssociateValueWith(Store, Guid, AssociatedPropertyInfo) | Vlastnost domény přiřazené k prvku tvar přidruží pole obrazce. (Zděděno z ShapeField.) | |
AssociateVisibilityWith(Store, AssociatedPropertyInfo) | Vlastnost domény přiřazené k prvku tvar přidruží viditelnost pole obrazce. (Zděděno z ShapeField.) | |
AssociateVisibilityWith(Store, Guid) | Vlastnost domény přiřazené k prvku tvar přidruží viditelnost pole obrazce. (Zděděno z ShapeField.) | |
AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) | Vlastnost domény přiřazené k prvku tvar přidruží viditelnost pole obrazce. (Zděděno z ShapeField.) | |
CanEditValue | Vrátí hodnotu určující, zda lze upravit hodnotu tohoto pole. (Přepisuje ShapeField.CanEditValue(ShapeElement, DiagramClientView).) | |
CommitPendingEdit | Úpravy čeká na potvrzení. (Přepisuje ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView).) | |
DoHitTest | Zadaný bod v diagramu zjistit, zda je v poli obrazec hranice provádí test zásahu. (Zděděno z ShapeField.) | |
DoKeyboardNavigation | Přejde do pole obrazec pomocí klávesnice. (Zděděno z ShapeField.) | |
DoPaint | Nakreslí textové pole. (Přepisuje ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).) | |
EditValue(ShapeElement, DiagramClientView) | Spustí editor v místě. (Přepisuje ShapeField.EditValue(ShapeElement, DiagramClientView).) | |
EditValue(ShapeElement, DiagramClientView, PointD) | Spustí editor v místě, nastavení polohy myši zadané pomocí znaku stříšky. (Přepisuje ShapeField.EditValue(ShapeElement, DiagramClientView, PointD).) | |
EditValue(ShapeElement, DiagramClientView, String) | Spustí editor v místě, nahraďte text zadaný text. | |
Equals | Určuje, zda zadaný objekt je rovno aktuální objekt. (Zděděno z Object.) | |
Finalize | Umožňuje objekt při uvolnění prostředků a provádět jiné operace vyčištění, dříve, než je zažádáno systémem uvolňování paměti. (Zděděno z Object.) | |
FindFirstChild | Do pole nadřazený obrazec vyhledá první pole podřízený obrazec. (Zděděno z ShapeField.) | |
FindLastChild | Do pole nadřazený obrazec vyhledá pole poslední podřízené obrazce. (Zděděno z ShapeField.) | |
FindNextChild | Vyhledá další podřízené obrazce pole do pole nadřazený obrazec. (Zděděno z ShapeField.) | |
FindNextInChildSubFields | Vyhledá pole další podřízené obrazce v pořadí navigace. (Zděděno z ShapeField.) | |
FindPreviousChild | Do pole nadřazený obrazec vyhledá předchozí pole podřízený obrazec. (Zděděno z ShapeField.) | |
FindPreviousInChildSubFields | Vyhledá předchozí pole podřízené obrazce v pořadí navigace. (Zděděno z ShapeField.) | |
Focused | Načte pole obrazce a ověří, zda má fokus. (Zděděno z ShapeField.) | |
GetAccessibilityObject | Získá usnadnění objekt, který je přiřazen do pole obrazce. (Zděděno z ShapeField.) | |
GetAccessibleChild | Získá objekt usnadnění pro pole podřízené obrazce. (Zděděno z ShapeField.) | |
GetAccessibleChildCount | Počet objektů usnadnění, které jsou přiřazeny obrazce nadřízeného pole a pole jeho podřízené obrazce získá. (Zděděno z ShapeField.) | |
GetAccessibleDefaultActionDescription | Načte výchozí účel pole obrazce pro přístupný objekt. (Zděděno z ShapeField.) | |
GetAccessibleDescription | Vrací výchozí popis přístupné pro textové pole. (Přepisuje ShapeField.GetAccessibleDescription(ShapeElement).) | |
GetAccessibleHelp | Získá tvar pole Nápověda pro přístupný objekt. (Zděděno z ShapeField.) | |
GetAccessibleHelpTopicFileName | Získá téma v nápovědě pro přístupný objekt. (Zděděno z ShapeField.) | |
GetAccessibleHelpTopicId | Načte ID, který je přiřazen k tématu nápovědy pro přístupný objekt. (Zděděno z ShapeField.) | |
GetAccessibleName | Vrátí text zobrazovaný jako název s usnadněním. (Přepisuje ShapeField.GetAccessibleName(ShapeElement).) | |
GetAccessibleRole | Načte přístupné role tohoto ShapeField. (Přepisuje ShapeField.GetAccessibleRole(ShapeElement).) | |
GetAccessibleState | Načte přístupný stav této TextField.Ve výchozím nastavení je TextField Pokud pole není může získat fokus a není žádný text zobrazit neviditelné klientům usnadnění. (Přepisuje ShapeField.GetAccessibleState(ShapeElement, DiagramClientView).) | |
GetAccessibleValue | Vrátí hodnotu přístupné. (Přepisuje ShapeField.GetAccessibleValue(ShapeElement).) | |
GetActiveInPlaceEditor | Vrátí ovládacího prvku active editor v místě.Tato metoda může vrátit hodnotu null, v takovém případě je žádný editor v místě aktivní pro toto pole. (Přepisuje ShapeField.GetActiveInPlaceEditor(ShapeElement, DiagramClientView).) | |
GetAutoSize | Pokud je PRAVDA, minimální požadovaná velikost textového pole narůstat tak, aby odpovídal délce textu diplay.Autosizable textové pole stále respektuje minimální velikost AnchoringBehavior. | |
GetBackgroundBrush | Stopy, které nakreslí pozadí tvar prvku tohoto pole tvar přiřazenou získá. (Zděděno z ShapeField.) | |
GetBackgroundBrushId | Načte ID stopy, které nakreslí pozadí tvar prvku tohoto pole tvar přiřazenou. (Zděděno z ShapeField.) | |
GetBounds | Získá hranice pro pole obrazce. (Zděděno z ShapeField.) | |
GetCursor | Získá ukazatel, který se zobrazí v případě, že pole obrazec umístěn ukazatel myši. (Zděděno z ShapeField.) | |
GetDisplayText | Získá text, který se zobrazí v tomto poli. | |
GetFocusable | Načte pole obrazce a ověří, zda ji lze aktivovat. (Zděděno z ShapeField.) | |
GetFont | Získá písma s kreslení určené instance ShapeElement. | |
GetFontHeight | Řádkování tohoto písma (tj. výška řádku textu) získává ve světě jednotek.Řádkování je stoupání + klesání + některé doporučené extra.Horní dotažnice je výška znaků nad účaří a sestup je výška znaku pod účaří.Výběr je níže sestup. | |
GetFontId | Načte id písma s kreslení určené instance ShapeElement. | |
GetHashCode | Slouží jako funkci hash u určitého typu. (Zděděno z Object.) | |
GetInPlaceEditorBounds | Získá hranice pro editor v místě. (Zděděno z ShapeField.) | |
GetMaximumInPlaceEditorSize | Standardně jsme umožňují změnit velikost až 75 znaků ovládacího prvku pro úpravy v místě. (Přepisuje ShapeField.GetMaximumInPlaceEditorSize(ShapeElement).) | |
GetMinimumInPlaceEditorSize | Minimální místo v editoru je založen na minimální šířka ve znacích a výšku řádků. (Přepisuje ShapeField.GetMinimumInPlaceEditorSize(ShapeElement).) | |
GetMinimumSize | Získá minimální šířku a heightfor této ShapeField v jednotkách světa (Přepisuje ShapeField.GetMinimumSize(ShapeElement).) | |
GetMultipleLine | Hodnota true, lze text zalomit do šířky, která je k dispozici více než jeden řádek. | |
GetPen | Získá pero kreslí tvar prvku pole obrazce přiřazenou. (Zděděno z ShapeField.) | |
GetPenId | Načte ID pero kreslí tvar prvku pole obrazce přiřazenou. (Zděděno z ShapeField.) | |
GetPotentialMouseAction | Získá akce myši aktivovat při dalším klepnutí určitý bod v diagramu. (Zděděno z ShapeField.) | |
GetSelectable | Načte pole obrazce a ověří, zda může být vybrána. (Zděděno z ShapeField.) | |
GetStringFormat | Načte řetězec formátu vykreslování textu s určené instance ShapeElement. | |
GetTextBrush | Získá stopy vykreslování textu s určené instance ShapeElement. | |
GetTextBrushId | Načte id stopy vykreslování textu s určené instance ShapeElement. | |
GetType | Získá Type aktuální instance. (Zděděno z Object.) | |
GetValue | Získá hodnota pro tento TextField. (Přepisuje ShapeField.GetValue(ShapeElement).) | |
GetValueDomainPropertyInfo | Získá vlastnosti domény, která je přiřazena hodnota v poli tvar. (Zděděno z ShapeField.) | |
GetVisible | Načte pole obrazce a ověří, zda se zobrazí. (Zděděno z ShapeField.) | |
HasFocusedAppearance | Načte pole obrazce a ověří, zda by se fokus. (Zděděno z ShapeField.) | |
HasPendingEdit | Vrátí hodnotu určující, zda je aktivní, potvrzení čekající úpravy na místě. (Přepisuje ShapeField.HasPendingEdit(ShapeElement, DiagramClientView).) | |
HasSelectedAppearance | Načte pole obrazce a ověří, zda se zdá být vybrán. (Zděděno z ShapeField.) | |
IsNavigationKey(Char) | Získá klíč, který uživatel stisknutí a ověří, zda jej lze procházet mezi obrazci. (Zděděno z ShapeField.) | |
IsNavigationKey(Keys) | Získá klíčů, které uživatel stisknutí a ověří, zda jsou lze procházet mezi obrazci. (Zděděno z ShapeField.) | |
MeasureDisplayText | Pomocné metody měření uveden text. | |
MemberwiseClone | Vytvoří kopii aktuálního Object. (Zděděno z Object.) | |
NavigateAscend | Přejde na předchozí pole tvaru v pořadí navigace pro vybrané obrazce. (Zděděno z ShapeField.) | |
NavigateDescend | Přejde na další pole tvaru v pořadí navigace pro vybrané obrazce. (Zděděno z ShapeField.) | |
NavigateToFirst | Přejde na první pole tvaru v pořadí navigace pro vybrané obrazce. (Zděděno z ShapeField.) | |
NavigateToLast | Přejde na poslední pole obrazce v pořadí navigace pro vybrané obrazce. (Zděděno z ShapeField.) | |
NavigateToNext | Přejde na další pole tvaru v pořadí navigace pro vybrané obrazce. (Zděděno z ShapeField.) | |
NavigateToPrevious | Přejde na předchozí pole tvaru v pořadí navigace pro vybrané obrazce. (Zděděno z ShapeField.) | |
OnBeginEdit | Upozornění posluchače při zahájení úpravy na místě. (Zděděno z ShapeField.) | |
OnClick | Když uživatel klepne tvar pole upozornění posluchače. (Zděděno z ShapeField.) | |
OnDoubleClick | Vyvolá se ve výchozím nastavení úpravy na místě. (Přepisuje ShapeField.OnDoubleClick(DiagramPointEventArgs).) | |
OnEndEdit | Po dokončení úpravy na místě oznámení posluchače. (Zděděno z ShapeField.) | |
OnKeyDown | Když se uživatel rozhodl stisknutou klávesu, když přejdete pole obrazec výstrahy posluchače. (Zděděno z ShapeField.) | |
OnKeyPress | Spustí editor je upravitelná pole a zadání libovolný alfanumerický znak. (Přepisuje ShapeField.OnKeyPress(DiagramKeyPressEventArgs).) | |
OnKeyUp | Když uživatel vydala klíč, pokud zvolíte pole obrazec výstrahy posluchače. (Zděděno z ShapeField.) | |
OnMouseDown | Upozornění posluchače při uživatele podržení myši nad pole obrazce. (Zděděno z ShapeField.) | |
OnMouseMove | Když byl přesunut myši přes pole obrazec výstrahy posluchače. (Zděděno z ShapeField.) | |
OnMouseUp | Když uživatel vydala tlačítko myši nad pole obrazec výstrahy posluchače. (Zděděno z ShapeField.) | |
OnMouseWheel | Upozornění posluchače při otočený myši přes pole obrazce. (Zděděno z ShapeField.) | |
Selected | Načte pole obrazce a ověří, zda je zaškrtnuto. (Zděděno z ShapeField.) | |
SetSelectionRange | Nastaví rozsah pole podřízené obrazce na výběr. (Zděděno z ShapeField.) | |
SetValue | Zadaná hodnota přiřadí pole obrazce. (Zděděno z ShapeField.) | |
SetVisible | Nastaví viditelnost pole obrazce. (Zděděno z ShapeField.) | |
ToString | Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.) |
Nahoru
Poznámky
Když definujete decorator textu v obrazci, je reprezentována komponentě TextField.Příklady inicializace TextFields a jiných ShapeFields inspekci Dsl\GeneratedCode\Shapes.cs v řešení DSL.
Komponentě TextField je objekt, který spravuje oblast uvnitř tvaru, například místo přiřazen popisek.Jedna instance TextField je sdílet mezi mnoha obrazcům stejné třídy.TextField instance text popisku odděleně pro každou instanci neukládá: místo, GetDisplayText(ShapeElement) , převezme tvar jako parametr metody a můžete vyhledat text, který je závislý na aktuální stav tvaru a jeho prvku modelu.
Jak se stanoví vzhled textového pole
Výchozí DoPaint() metoda provede následující úkoly.Toto je zjednodušenou obchodní úpravu kódu:
// 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; }
Existuje několik dvojic z Get metod a Default vlastnosti, jako například DefaultMultipleLine/GetMultipleLine().Můžete přiřadit hodnotu vlastnosti výchozí hodnotu pro všechny instance obrazce pole.Chcete-li hodnota liší instance jednoho obrazce do jiného nebo závislé na stavu jeho prvku modelu nebo obrazce, přepsat Get metoda.
Statické úprav
Chcete-li změnit každé instanci tohoto obrazce pole, nejprve zjistit, zda vlastnost lze nastavit v definici DSL.V okně Vlastnosti můžete například nastavit velikost písma a styl.
Pokud ne, pak přepsat InitializeShapeFields třídy shape a přiřadit hodnotu na příslušnou metodu Default... vlastnosti textového pole.
Upozornění |
---|
Potlačit InitializeShapeFields(), je nutné nastavit Generuje dvojité odvozené vlastnost obrazce Třída true v definici DSL. |
V tomto příkladu má tvar textového pole, které bude použita pro komentáře uživatelů.Chceme použít standardní komentář písmo.Je standardní písmo z sadu stylů, doporučujeme nastavit výchozí písmo id:
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;
Dynamické úpravy
Chcete-li měnit vzhled závisí na stavu tvaru nebo jeho prvku modelu, odvodit vlastní podtřídu TextField a přepsat jeden nebo více Get... metod.Musíte přepsat metodu InitializeShapeFields daného obrazce a nahradit instanci třídy vlastní instance TextField.
Následující příklad vytvoří písmo textového pole závisí na stavu domény booleovská vlastnost obrazce prvku modelu.
Chcete-li spustit tento příklad kódu, vytvořte nové řešení DSL pomocí šablony minimální jazyk.Přidání domény booleovská vlastnost AlternateState ExampleElement třídy domény.Přidat decorator ikonu do třídy ExampleShape a nastavte jeho obraz na rastrový soubor.Klepněte na tlačítko transformace všechny šablony.Přidání nového souboru kód v projektu DSL a vložte následující kód.
Chcete-li otestovat kód stisknutím klávesy F5 a ladění řešení otevřete ukázkový diagram.Výchozí stav na ikonu se zobrazí.Vyberte obrazec a v okně Vlastnosti změňte hodnotu AlternateState vlastnost.Měla změnit písmo název prvku.
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);
}
}
Sady stylů
Předchozí příklad ukazuje, jak změnit pole text na jakékoli písmo, které je k dispozici.Vhodnější metodou je však změnit na jednu sadu stylů, která je spojena s obrazcem nebo s aplikací.To provedete přepsat GetFontId nebo GetTextBrushId().
Můžete také zvážit změnu nastavení stylu tvaru přepsáním InitializeResources.To má za následek změny písma a pro všechna pole tvar stopy.
Bezpečný přístup z více vláken
Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou bezpečné pro přístup z více vláken. Není zaručeno, že členy instancí jsou bezpečné pro přístup z více vláken.