TextField Sınıf
Metin etiketleri veya alanlar şeklinde bir parçasını gösteren basit nesne.
Devralma Hiyerarşisi
System.Object
Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
Microsoft.VisualStudio.Modeling.Diagrams.TextField
Microsoft.VisualStudio.Modeling.Diagrams.LabelTextField
Ad alanı: Microsoft.VisualStudio.Modeling.Diagrams
Derleme: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll içinde)
Sözdizimi
'Bildirim
Public Class TextField _
Inherits ShapeField
public class TextField : ShapeField
TextField türü aşağıdaki üyeleri ortaya koyar.
Oluşturucular
Ad | Açıklama | |
---|---|---|
![]() |
TextField | TextField sınıfının yeni bir örneğini başlatır. |
Üst
Özellikler
Ad | Açıklama | |
---|---|---|
![]() |
AnchoringBehavior | Ne alanının içeriği konumlandırıp kendisini üst ShapeElement göre açıklanır. (ShapeField kaynağından devralındı.) |
![]() |
DefaultAccessibleDescription | Alır veya ayarlar varsayılan erişilebilir açıklaması. (ShapeField kaynağından devralındı.) |
![]() |
DefaultAccessibleName | Alır veya erişilebilir nesne şeklini alan varsayılan adını ayarlar. (ShapeField kaynağından devralındı.) |
![]() |
DefaultAccessibleState | Erişilebilir nesne için şeklin alanını varsayılan durumunu alır. (ShapeField kaynağından devralındı.) |
![]() |
DefaultAutoSize | Doğru'ysa, metin alanının en az raporlanırsa boyutu diplay metin uzunluğunu saklayacak şekilde büyüyecektir.Autosizable metin alanları, AnchoringBehavior içinde belirtilen minimum boyutu yine uyar. |
![]() |
DefaultBackgroundBrushId | Alır veya ayarlar varsayılan fırça şekli alanının arka plan boyama kimliği. (ShapeField kaynağından devralındı.) |
![]() |
DefaultCommitOnEscape | Alır veya Escape tuşuna düzenleme kaydeder olup olmadığını gösteren bir değeri ayarlar.TRUE ise, yerinde düzenleme için Enter tuşuna bir crlf kullanılacaktır. |
![]() |
DefaultFocusable | Şekil alan alır ve odağı alabilir veya şekil alan odak alma yeteneği verir olup olmadığını doğrular. (ShapeField kaynağından devralındı.) |
![]() |
DefaultFontId | Alır veya ayarlar varsayılan yazı tipi kimliği. |
![]() |
DefaultInactiveSelectedBackgroundBrushId | Alır veya ayarlar varsayılan arka plan fırça şeklini alan kimliği. (ShapeField kaynağından devralındı.) |
![]() |
DefaultInactiveSelectedTextBrushId | Alır veya ayarlar etkin seçili metnin varsayılan fırça kimliği. |
![]() |
DefaultIsHorizontal | Alır veya metin için varsayılan yatay durumunu ayarlar. |
![]() |
DefaultMultipleLine | TRUE ise, metin kullanılabilir genişliğine sığacak şekilde birden fazla hattı üzerinden otomatik olarak sarılır. |
![]() |
DefaultPenId | Alır veya ayarlar varsayılan Kalem Teşhis için şeklin alanını kullanın. (ShapeField kaynağından devralındı.) |
![]() |
DefaultReflectParentFocusedState | Alt alan şekil ve üst şeklini odağı aldığında veya yeteneği üst şeklini odak durumunu yansıtacak şekilde ayarlar, odaklanması gereken olup olmadığını doğrular alır. (ShapeField kaynağından devralındı.) |
![]() |
DefaultReflectParentSelectedState | Alt alan şekil ve üst şeklini seçilir veya yeteneği üst şeklini Seçim durumunu yansıtacak şekilde ayarlar, seçili olmalıdır olup olmadığını doğrular alır. (ShapeField kaynağından devralındı.) |
![]() |
DefaultSelectable | Şekil alan alır ve bunu varsayılan olarak seçilebilir olup olmadığını doğrular veya şeklin alanını varsayılan seçim durumunu ayarlar. (ShapeField kaynağından devralındı.) |
![]() |
DefaultSelectedBackgroundBrushId | Alır veya ayarlar varsayılan arka plan fırça şeklini alan kimliği. (ShapeField kaynağından devralındı.) |
![]() |
DefaultSelectedTextBrushId | Alır veya seçili metnin varsayılan fırça kimliğini ayarlar. |
![]() |
DefaultStringFormat | Alır veya çizim metin için varsayılan dize biçimini ayarlar. |
![]() |
DefaultText | Alır veya ayarlar çizmek için varsayılan metin. |
![]() |
DefaultTextBrushId | Alır veya metin için varsayılan fırça kimliğini ayarlar. |
![]() |
DefaultVisibility | Şekil alan alır ve varsayılan olarak görünür veya şeklin alanını varsayılan görünürlüğünü ayarlar olup olmadığını doğrular. (ShapeField kaynağından devralındı.) |
![]() |
DisplayMember | Alır veya ayarlar ile ilişkili görüntülenecek metni özellik adı. |
![]() |
DrawBorder | (Kullanmayın - değiştirilecek) |
![]() |
FillBackground | (Kullanmayın - değiştirilecek) |
![]() |
Name | Şekil alan adını alır. (ShapeField kaynağından devralındı.) |
Üst
Yöntemler
Ad | Açıklama | |
---|---|---|
![]() |
AccessibleDoDefaultAction | Erişilebilir nesne için varsayılan eylemi gerçekleştirir. (ShapeField kaynağından devralındı.) |
![]() |
AllowInPlaceEditorAutoSize | Otomatik boyut alanını destekliyorsa, varsayılan olarak, otomatik olarak yerinde düzenleyen boyutuna izin verir. (ShapeField.AllowInPlaceEditorAutoSize(ShapeElement) geçersiz kılınır.) |
![]() |
AssociateValueWith(Store, AssociatedPropertyInfo) | Şekil alan bir shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.) |
![]() |
AssociateValueWith(Store, Guid) | Şekil alan bir shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.) |
![]() |
AssociateValueWith(Store, Guid, AssociatedPropertyInfo) | Şekil alan bir shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.) |
![]() |
AssociateVisibilityWith(Store, AssociatedPropertyInfo) | Şekil alan görünürlüğünü shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.) |
![]() |
AssociateVisibilityWith(Store, Guid) | Şekil alan görünürlüğünü shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.) |
![]() |
AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) | Şekil alan görünürlüğünü shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.) |
![]() |
CanEditValue | Bu alandaki değer düzenlenebilir olup olmadığını gösteren bir değeri döndürür. (ShapeField.CanEditValue(ShapeElement, DiagramClientView) geçersiz kılınır.) |
![]() |
CommitPendingEdit | Bekleyen düzenleme kaydeder. (ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView) geçersiz kılınır.) |
![]() |
DoHitTest | Diyagramdaki nokta şeklini alan sınırları içinde olup olmadığını belirlemek için belirli bir noktaya isabet sınaması gerçekleştirir. (ShapeField kaynağından devralındı.) |
![]() |
DoKeyboardNavigation | Klavyeyi kullanarak şekil alanına gider. (ShapeField kaynağından devralındı.) |
![]() |
DoPaint | Metin alanı çizmenizi sağlar. (ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement) geçersiz kılınır.) |
![]() |
EditValue(ShapeElement, DiagramClientView) | Yerinde Düzenleyicisi'ni başlatır. (ShapeField.EditValue(ShapeElement, DiagramClientView) geçersiz kılınır.) |
![]() |
EditValue(ShapeElement, DiagramClientView, PointD) | Belirtilen farenin konumunu kullanarak şapka ayarlama yerinde Düzenleyicisi'ni başlatır. (ShapeField.EditValue(ShapeElement, DiagramClientView, PointD) geçersiz kılınır.) |
![]() |
EditValue(ShapeElement, DiagramClientView, String) | Belirtilen metni metin değiştirme yerinde Düzenleyicisi'ni başlatır. |
![]() |
Equals | Belirtilen nesne için geçerli nesne eşit olup olmadığını belirler. (Object kaynağından devralındı.) |
![]() |
Finalize | Atık toplama işlemi tarafından geri alınmadan önce diğer temizleme işlemleri gerçekleştirmek ve kaynakları boşaltmak denemek bir nesne sağlar. (Object kaynağından devralındı.) |
![]() |
FindFirstChild | İlk alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.) |
![]() |
FindLastChild | Son alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.) |
![]() |
FindNextChild | Sonraki alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.) |
![]() |
FindNextInChildSubFields | Sonraki alt Şekil alan gezinti sırayla bulur. (ShapeField kaynağından devralındı.) |
![]() |
FindPreviousChild | Önceki alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.) |
![]() |
FindPreviousInChildSubFields | Önceki alt Şekil alan gezinti sırayla bulur. (ShapeField kaynağından devralındı.) |
![]() |
Focused | Şekil alan alır ve odağa sahip olup olmadığını doğrular. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibilityObject | Şekli alana atanan erişilebilirlik nesnesi alır. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibleChild | Erişilebilirlik nesnesi için alt Şekil alanı alır. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibleChildCount | Üst Şekil alanı ve onun alt Şekil alanlarını atanan erişilebilirlik nesne sayısını alır. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibleDefaultActionDescription | Şekil alan varsayılan amacı için erişilebilir nesnesi alır. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibleDescription | Bir metin alanının varsayılan erişilebilir açıklaması döndürür. (ShapeField.GetAccessibleDescription(ShapeElement) geçersiz kılınır.) |
![]() |
GetAccessibleHelp | Şekil alan Yardım için erişilebilir nesnesi alır. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibleHelpTopicFileName | Bir konuda Yardım'için erişilebilir nesne alır. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibleHelpTopicId | Yardım konusu erişilebilir nesne için atanmış kimliği alır. (ShapeField kaynağından devralındı.) |
![]() |
GetAccessibleName | Görüntü metni erişilebilir adını döndürür. (ShapeField.GetAccessibleName(ShapeElement) geçersiz kılınır.) |
![]() |
GetAccessibleRole | Bu ShapeField erişilebilir rolü alır. (ShapeField.GetAccessibleRole(ShapeElement) geçersiz kılınır.) |
![]() |
GetAccessibleState | Bu TextField erişilebilir durumunu alır.Varsayılan olarak, alan Sadece odaklanabilir değildir ve herhangi bir metin görüntülemek için TextField erişilebilirlik istemcilerine görünmez durumdadır. (ShapeField.GetAccessibleState(ShapeElement, DiagramClientView) geçersiz kılınır.) |
![]() |
GetAccessibleValue | Erişilebilir değerini verir. (ShapeField.GetAccessibleValue(ShapeElement) geçersiz kılınır.) |
![]() |
GetActiveInPlaceEditor | Denetim için etkin yerinde Düzenleyici döner.Hiçbir yerinde Düzenleyicisi bu alan için etkin durumda bu yöntem null döndürebilir. (ShapeField.GetActiveInPlaceEditor(ShapeElement, DiagramClientView) geçersiz kılınır.) |
![]() |
GetAutoSize | TRUE ise, metin alanının gereken en az boyutu diplay metin uzunluğunu saklayacak şekilde büyüyecektir.Autosizable metin alanları, AnchoringBehavior içinde belirtilen minimum boyutu yine uyar. |
![]() |
GetBackgroundBrush | Bu şekil alan atandığı shape öğesinin arka plan çizer fırça alır. (ShapeField kaynağından devralındı.) |
![]() |
GetBackgroundBrushId | Bu şekil alan atandığı shape öğesinin arka plan çizer fırça kimliği alır. (ShapeField kaynağından devralındı.) |
![]() |
GetBounds | Sınırları için Şekil alanı alır. (ShapeField kaynağından devralındı.) |
![]() |
GetCursor | Fare şeklini alana bakan zaman görünen işaretçi alır. (ShapeField kaynağından devralındı.) |
![]() |
GetDisplayText | Bu alana göre görüntülenecek metni alır. |
![]() |
GetFocusable | Şekil alan alır ve odağı alabilir olup olmadığını doğrular. (ShapeField kaynağından devralındı.) |
![]() |
GetFont | İle belirtilen ShapeElement örneği için çizmek için yazı tipi alır. |
![]() |
GetFontHeight | Bu yazı tipi (yani, metin satırının yüksekliğini) satır aralığı world birimlerinde alır.Satır aralığı Yokuş + iniş + bazı ekstra önerilir.Yokuş taban karakterinin yüksekliği ve iniş taban karakterinin yüksekliği.Ekstra iniş altında olur. |
![]() |
GetFontId | İle belirtilen ShapeElement örneği için çizmek için yazı tipi kimliği alır. |
![]() |
GetHashCode | Belirli bir türü için bir karma işlev görür. (Object kaynağından devralındı.) |
![]() |
GetInPlaceEditorBounds | Sınırları yerinde Düzenleyicisi'ni alır. (ShapeField kaynağından devralındı.) |
![]() |
GetMaximumInPlaceEditorSize | Varsayılan olarak, en çok 75 karakterleri yeniden boyutlandırmak yerinde düzenleme denetimine izin veriyoruz. (ShapeField.GetMaximumInPlaceEditorSize(ShapeElement) geçersiz kılınır.) |
![]() |
GetMinimumInPlaceEditorSize | Minimum yerinde Düzenleyicisi boyutu karakter minimum width ve height satırlarını temel alır. (ShapeField.GetMinimumInPlaceEditorSize(ShapeElement) geçersiz kılınır.) |
![]() |
GetMinimumSize | Minimum genişlik ve heightfor bu ShapeField dünya birimlerinde alır. (ShapeField.GetMinimumSize(ShapeElement) geçersiz kılınır.) |
![]() |
GetMultipleLine | TRUE ise, metin kullanılabilir genişliğine sığacak şekilde birden fazla satıra kaydırılmasını. |
![]() |
GetPen | Şekil alan atandığı şekli öğenin çizer kaleme alır. (ShapeField kaynağından devralındı.) |
![]() |
GetPenId | Şekil alan atandığı şekli öğenin çizer kalem kimliği alır. (ShapeField kaynağından devralındı.) |
![]() |
GetPotentialMouseAction | Kullanıcı sonraki Diyagram belirli bir noktayı tıklattığında etkinleştirmek için fare eylemi alır. (ShapeField kaynağından devralındı.) |
![]() |
GetSelectable | Şekil alan alır ve onu seçilebilir olup olmadığını doğrular. (ShapeField kaynağından devralındı.) |
![]() |
GetStringFormat | Belirtilen ShapeElement örneği için metinle çizmek için dize biçimi alır. |
![]() |
GetTextBrush | Belirtilen ShapeElement örneği için metinle çizmek için Fırça alır. |
![]() |
GetTextBrushId | Belirtilen ShapeElement örneği için metinle çizmek için Fırça kimliği alır. |
![]() |
GetType | Alır Type geçerli örneğinin. (Object kaynağından devralındı.) |
![]() |
GetValue | Bu TextField için değerini alır. (ShapeField.GetValue(ShapeElement) geçersiz kılınır.) |
![]() |
GetValueDomainPropertyInfo | Şekil alanındaki değer için atanan etki alanı özelliğini alır. (ShapeField kaynağından devralındı.) |
![]() |
GetVisible | Şekil alan alır ve görüntülenip görüntülenmeyeceğini denetler. (ShapeField kaynağından devralındı.) |
![]() |
HasFocusedAppearance | Şekil alan alır ve onu odağa gerek görüntülenip görüntülenmeyeceğini denetler. (ShapeField kaynağından devralındı.) |
![]() |
HasPendingEdit | Yerinde düzenleme bir tamamlama ile etkin olup olmadığını gösteren bir değeri döndürür. (ShapeField.HasPendingEdit(ShapeElement, DiagramClientView) geçersiz kılınır.) |
![]() |
HasSelectedAppearance | Şekil alan alır ve seçilmesi görüntülenip görüntülenmeyeceğini denetler. (ShapeField kaynağından devralındı.) |
![]() |
IsNavigationKey(Char) | Kullanıcı basıldı ve onu giderek Şekil alanlar arasında kullanılıp kullanılamayacağını doğrular anahtarı alır. (ShapeField kaynağından devralındı.) |
![]() |
IsNavigationKey(Keys) | Kullanıcı basıldı ve bunlar giderek Şekil alanlar arasında kullanılıp kullanılamayacağını doğrular anahtarları alır. (ShapeField kaynağından devralındı.) |
![]() |
MeasureDisplayText | Belirli bir metni ölçmek için yardımcı yöntem. |
![]() |
MemberwiseClone | Geçerli yüzeysel bir kopyasını oluşturur Object. (Object kaynağından devralındı.) |
![]() |
NavigateAscend | Odağı Seçili şekiller için Gezinti sırası önceki Şekil alanına taşır. (ShapeField kaynağından devralındı.) |
![]() |
NavigateDescend | Odağı Seçili şekiller için Gezinti serisi İleri Şekil alanına taşır. (ShapeField kaynağından devralındı.) |
![]() |
NavigateToFirst | Odağı Seçili şekiller için Gezinti serisi ilk şeklini alana taşır. (ShapeField kaynağından devralındı.) |
![]() |
NavigateToLast | Odağı Seçili şekiller için Gezinti serisi son şeklini alana taşır. (ShapeField kaynağından devralındı.) |
![]() |
NavigateToNext | Odağı Seçili şekiller için Gezinti serisi İleri Şekil alanına taşır. (ShapeField kaynağından devralındı.) |
![]() |
NavigateToPrevious | Odağı Seçili şekiller için Gezinti sırası önceki Şekil alanına taşır. (ShapeField kaynağından devralındı.) |
![]() |
OnBeginEdit | Yerinde düzenleme başladığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnClick | Kullanıcı bir şekil alan tıklatıldığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnDoubleClick | Varsayılan olarak yerinde düzenlemeyi çağırır. (ShapeField.OnDoubleClick(DiagramPointEventArgs) geçersiz kılınır.) |
![]() |
OnEndEdit | Yerinde düzenleme tamamlandığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnKeyDown | Bir şeklin alanını seçerek, kullanıcı bir tuşu basılı tutulan zaman dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnKeyPress | Bu alan düzenlenebilir ve herhangi bir alpha-sayısal karakter yazılana, düzenleyici çağırır. (ShapeField.OnKeyPress(DiagramKeyPressEventArgs) geçersiz kılınır.) |
![]() |
OnKeyUp | Bir şeklin alanını seçerek, kullanıcı bir tuşa yayımladı zaman dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnMouseDown | Kullanıcı fare basılı bir şekil alan üzerinde durdurulduğunda dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnMouseMove | Fare Şekil alan takıldığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnMouseUp | Kullanıcı fare düğmesini bir şekil alan piyasaya sürüldüğünde dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
OnMouseWheel | Fare için döndürülmüş bir şekil alan zaman dinleyicileri uyarır. (ShapeField kaynağından devralındı.) |
![]() |
Selected | Şekil alan alır ve seçili olup olmadığını doğrular. (ShapeField kaynağından devralındı.) |
![]() |
SetSelectionRange | Seçim, bir dizi alt şekli alanları ayarlar. (ShapeField kaynağından devralındı.) |
![]() |
SetValue | Bir şekil alan için belirtilen değeri atar. (ShapeField kaynağından devralındı.) |
![]() |
SetVisible | Şekil alan görünürlüğünü belirler. (ShapeField kaynağından devralındı.) |
![]() |
ToString | Geçerli nesneyi temsil eden bir dize döndürür. (Object kaynağından devralındı.) |
Üst
Notlar
Bir şekil içinde metin decorator tanımladığınızda, TextField tarafından temsil edilir.Başlatma TextFields ve diğer ShapeFields örnek için Dsl\GeneratedCode\Shapes.cs dsl çözümünüzün inceleyin.
Bir TextField etikete atanan alanı gibi bir şeklin içindeki bir alanı yöneten bir nesnedir.Bir TextField örneği aynı sınıf birçok şekiller arasında paylaşılır.TextField örneği her örneği için ayrı ayrı etiket metnini depolamaz: Bunun yerine, GetDisplayText(ShapeElement) yöntemi parametre olarak şeklini alır ve geçerli durumunu şekli ve onun modeli öğe üzerinde bağımlı metin arayabilir.
Bir metin alanının görünümünü nasıl belirlenir
Varsayılan DoPaint() yöntemi bu görevleri gerçekleştirir.Basitleştirilmiş bir sunuyu kendi kodu budur:
// 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; }
Diğer çeşitli çiftleri vardır Get yöntemleri ve Default özellikleri gibi DefaultMultipleLine/GetMultipleLine().Varsayılan özellik değerini Şekil alan tüm örneklerini değiştirmek için bir değer atayabilirsiniz.Başka bir veya şekil veya kendi modeli öğe durumunu bağımlı bir shape örneği farklı değer yapmak için geçersiz kılmak Get yöntemi.
Statik özelleştirmeleri
Bu şeklin alanını her örneği değiştirmek isterseniz, önce olup, özelliği dsl tanımında ayarlayabilirsiniz bulabilirsiniz.Örneğin, yazı tipi boyutu ve stili Properties penceresinden de ayarlayabilirsiniz.
Aksi durumda geçersiz kılmak InitializeShapeFields yöntemi shape sınıfı ve uygun bir değer Ata Default... metin alanının özelliği.
![]() |
---|
Geçersiz kılmak için InitializeShapeFields(), ayarlamanız gerekir Oluşturduğu çift türetilen özelliği için shape sınıfının true dsl View definition. |
Bu örnekte, kullanıcı yorumları için kullanılan bir metin alanı bir şekli vardır.Standart yorum yazı tipi kullanmak istiyoruz.Standart bir yazı tipi stili kümesinden olduğu için biz varsayılan yazı tipi kimliği ayarlayabilirsiniz:
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;
Dinamik özelleştirmeleri
Değişen görünüm bir şekil veya kendi modeli öğe durumunu bağımlı hale getirmek için kendi alt sınıf türetmek TextField ve bir veya daha fazla geçersiz kılma Get... yöntemleri.Ayrıca, şeklin InitializeShapeFields yöntemi geçersiz kılmak ve TextField örneği kendi sınıfının bir örneği değiştirmek gerekir.
Aşağıdaki örnek bir metin alanına font Boolean domain özelliği şeklin modeli öğesinin durumunu bağımlı hale getirir.
Bu kod örneği çalıştırmak için en az dil şablonu kullanarak yeni bir dsl çözüm oluşturun.Boolean etki alanı özellik eklemek AlternateState ExampleElement etki alanı sınıfına.Simge decorator ExampleShape sýnýfýna ekleyin ve kendi resim bir bit eşlem dosyası ayarlayın.Tıklatın dönüştürme tüm şablonları.dsl projede yeni bir kod dosyası ekleyin ve aşağıdaki kodu ekleyin.
Kodu test etmek için F5 tuşuna basın ve hata ayıklama çözümde bir örnek diyagramı açın.Varsayılan Durum simgesinin görüntülenmesi gerekir.Şekli seçin ve Properties penceresinde değerini değiştirmek AlternateState özelliği.Öğe adının yazı tipini değiştirmeniz gerekir.
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);
}
}
Stil kümeleri
Önceki örnekte, metin alanının kullanılabilir herhangi bir yazı tipi nasıl değiştirebileceğinizi gösterir.Bununla birlikte, tercih veya uygulama şekli ile ilişkili olan stiller kümesi birini değiştirmek için yöntemidir.Bunu yapmak için geçersiz kılıp GetFontId veya GetTextBrushId().
Alternatif olarak, Şeklinizin stil kümesi geçersiz kılarak \CurrentControlSet InitializeResources.Bu yazı tipleri ve Fırçalar için şekil alanlarının tümünü değiştirmenin etkisi olmaz.
İş Parçacığı Güvenliği
Bu türün tüm genel statik (Visual Basic'te Shared) üyeleri iş parçacığı açısından güvenlidir. Hiçbir örnek üyesinin iş parçacığı açısından güvenliği garanti edilemez.