Aracılığıyla paylaş


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
Genel yöntem TextField TextField sınıfının yeni bir örneğini başlatır.

Üst

Özellikler

  Ad Açıklama
Genel özellik AnchoringBehavior Ne alanının içeriği konumlandırıp kendisini üst ShapeElement göre açıklanır. (ShapeField kaynağından devralındı.)
Genel özellik DefaultAccessibleDescription Alır veya ayarlar varsayılan erişilebilir açıklaması. (ShapeField kaynağından devralındı.)
Genel özellik DefaultAccessibleName Alır veya erişilebilir nesne şeklini alan varsayılan adını ayarlar. (ShapeField kaynağından devralındı.)
Genel özellik DefaultAccessibleState Erişilebilir nesne için şeklin alanını varsayılan durumunu alır. (ShapeField kaynağından devralındı.)
Genel özellik 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.
Genel özellik DefaultBackgroundBrushId Alır veya ayarlar varsayılan fırça şekli alanının arka plan boyama kimliği. (ShapeField kaynağından devralındı.)
Genel özellik 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.
Genel özellik 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ı.)
Genel özellik DefaultFontId Alır veya ayarlar varsayılan yazı tipi kimliği.
Genel özellik DefaultInactiveSelectedBackgroundBrushId Alır veya ayarlar varsayılan arka plan fırça şeklini alan kimliği. (ShapeField kaynağından devralındı.)
Genel özellik DefaultInactiveSelectedTextBrushId Alır veya ayarlar etkin seçili metnin varsayılan fırça kimliği.
Genel özellik DefaultIsHorizontal Alır veya metin için varsayılan yatay durumunu ayarlar.
Genel özellik DefaultMultipleLine TRUE ise, metin kullanılabilir genişliğine sığacak şekilde birden fazla hattı üzerinden otomatik olarak sarılır.
Genel özellik DefaultPenId Alır veya ayarlar varsayılan Kalem Teşhis için şeklin alanını kullanın. (ShapeField kaynağından devralındı.)
Genel özellik 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ı.)
Genel özellik 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ı.)
Genel özellik 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ı.)
Genel özellik DefaultSelectedBackgroundBrushId Alır veya ayarlar varsayılan arka plan fırça şeklini alan kimliği. (ShapeField kaynağından devralındı.)
Genel özellik DefaultSelectedTextBrushId Alır veya seçili metnin varsayılan fırça kimliğini ayarlar.
Genel özellik DefaultStringFormat Alır veya çizim metin için varsayılan dize biçimini ayarlar.
Genel özellik DefaultText Alır veya ayarlar çizmek için varsayılan metin.
Genel özellik DefaultTextBrushId Alır veya metin için varsayılan fırça kimliğini ayarlar.
Genel özellik 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ı.)
Genel özellik DisplayMember Alır veya ayarlar ile ilişkili görüntülenecek metni özellik adı.
Genel özellik DrawBorder (Kullanmayın - değiştirilecek)
Genel özellik FillBackground (Kullanmayın - değiştirilecek)
Genel özellik Name Şekil alan adını alır. (ShapeField kaynağından devralındı.)

Üst

Yöntemler

  Ad Açıklama
Genel yöntem AccessibleDoDefaultAction Erişilebilir nesne için varsayılan eylemi gerçekleştirir. (ShapeField kaynağından devralındı.)
Genel yöntem 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.)
Genel yöntem AssociateValueWith(Store, AssociatedPropertyInfo) Şekil alan bir shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.)
Genel yöntem AssociateValueWith(Store, Guid) Şekil alan bir shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.)
Genel yöntem AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Şekil alan bir shape öğesine atanmış bir etki alanı özelliği ile ilişkilendirir. (ShapeField kaynağından devralındı.)
Genel yöntem 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ı.)
Genel yöntem 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ı.)
Genel yöntem 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ı.)
Genel yöntem 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.)
Genel yöntem CommitPendingEdit Bekleyen düzenleme kaydeder. (ShapeField.CommitPendingEdit(ShapeElement, DiagramClientView) geçersiz kılınır.)
Genel yöntem 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ı.)
Genel yöntem DoKeyboardNavigation Klavyeyi kullanarak şekil alanına gider. (ShapeField kaynağından devralındı.)
Genel yöntem DoPaint Metin alanı çizmenizi sağlar. (ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement) geçersiz kılınır.)
Genel yöntem EditValue(ShapeElement, DiagramClientView) Yerinde Düzenleyicisi'ni başlatır. (ShapeField.EditValue(ShapeElement, DiagramClientView) geçersiz kılınır.)
Genel yöntem 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.)
Genel yöntem EditValue(ShapeElement, DiagramClientView, String) Belirtilen metni metin değiştirme yerinde Düzenleyicisi'ni başlatır.
Genel yöntem Equals Belirtilen nesne için geçerli nesne eşit olup olmadığını belirler. (Object kaynağından devralındı.)
Korumalı yöntem 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ı.)
Genel yöntem FindFirstChild İlk alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.)
Genel yöntem FindLastChild Son alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.)
Genel yöntem FindNextChild Sonraki alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.)
Genel yöntem FindNextInChildSubFields Sonraki alt Şekil alan gezinti sırayla bulur. (ShapeField kaynağından devralındı.)
Genel yöntem FindPreviousChild Önceki alt Şekil alan üst Şekil alanı bulur. (ShapeField kaynağından devralındı.)
Genel yöntem FindPreviousInChildSubFields Önceki alt Şekil alan gezinti sırayla bulur. (ShapeField kaynağından devralındı.)
Genel yöntem Focused Şekil alan alır ve odağa sahip olup olmadığını doğrular. (ShapeField kaynağından devralındı.)
Genel yöntem GetAccessibilityObject Şekli alana atanan erişilebilirlik nesnesi alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetAccessibleChild Erişilebilirlik nesnesi için alt Şekil alanı alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetAccessibleChildCount Üst Şekil alanı ve onun alt Şekil alanlarını atanan erişilebilirlik nesne sayısını alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetAccessibleDefaultActionDescription Şekil alan varsayılan amacı için erişilebilir nesnesi alır. (ShapeField kaynağından devralındı.)
Genel yöntem 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.)
Genel yöntem GetAccessibleHelp Şekil alan Yardım için erişilebilir nesnesi alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetAccessibleHelpTopicFileName Bir konuda Yardım'için erişilebilir nesne alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetAccessibleHelpTopicId Yardım konusu erişilebilir nesne için atanmış kimliği alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetAccessibleName Görüntü metni erişilebilir adını döndürür. (ShapeField.GetAccessibleName(ShapeElement) geçersiz kılınır.)
Genel yöntem GetAccessibleRole Bu ShapeField erişilebilir rolü alır. (ShapeField.GetAccessibleRole(ShapeElement) geçersiz kılınır.)
Genel yöntem 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.)
Genel yöntem GetAccessibleValue Erişilebilir değerini verir. (ShapeField.GetAccessibleValue(ShapeElement) geçersiz kılınır.)
Genel yöntem 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.)
Genel yöntem 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.
Genel yöntem GetBackgroundBrush Bu şekil alan atandığı shape öğesinin arka plan çizer fırça alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetBackgroundBrushId Bu şekil alan atandığı shape öğesinin arka plan çizer fırça kimliği alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetBounds Sınırları için Şekil alanı alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetCursor Fare şeklini alana bakan zaman görünen işaretçi alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetDisplayText Bu alana göre görüntülenecek metni alır.
Genel yöntem GetFocusable Şekil alan alır ve odağı alabilir olup olmadığını doğrular. (ShapeField kaynağından devralındı.)
Genel yöntem GetFont İle belirtilen ShapeElement örneği için çizmek için yazı tipi alır.
Genel yöntem 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.
Genel yöntem GetFontId İle belirtilen ShapeElement örneği için çizmek için yazı tipi kimliği alır.
Genel yöntem GetHashCode Belirli bir türü için bir karma işlev görür. (Object kaynağından devralındı.)
Genel yöntem GetInPlaceEditorBounds Sınırları yerinde Düzenleyicisi'ni alır. (ShapeField kaynağından devralındı.)
Genel yöntem 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.)
Genel yöntem 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.)
Genel yöntem GetMinimumSize Minimum genişlik ve heightfor bu ShapeField dünya birimlerinde alır. (ShapeField.GetMinimumSize(ShapeElement) geçersiz kılınır.)
Genel yöntem GetMultipleLine TRUE ise, metin kullanılabilir genişliğine sığacak şekilde birden fazla satıra kaydırılmasını.
Genel yöntem GetPen Şekil alan atandığı şekli öğenin çizer kaleme alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetPenId Şekil alan atandığı şekli öğenin çizer kalem kimliği alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetPotentialMouseAction Kullanıcı sonraki Diyagram belirli bir noktayı tıklattığında etkinleştirmek için fare eylemi alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetSelectable Şekil alan alır ve onu seçilebilir olup olmadığını doğrular. (ShapeField kaynağından devralındı.)
Genel yöntem GetStringFormat Belirtilen ShapeElement örneği için metinle çizmek için dize biçimi alır.
Genel yöntem GetTextBrush Belirtilen ShapeElement örneği için metinle çizmek için Fırça alır.
Genel yöntem GetTextBrushId Belirtilen ShapeElement örneği için metinle çizmek için Fırça kimliği alır.
Genel yöntem GetType Alır Type geçerli örneğinin. (Object kaynağından devralındı.)
Genel yöntem GetValue Bu TextField için değerini alır. (ShapeField.GetValue(ShapeElement) geçersiz kılınır.)
Genel yöntem GetValueDomainPropertyInfo Şekil alanındaki değer için atanan etki alanı özelliğini alır. (ShapeField kaynağından devralındı.)
Genel yöntem GetVisible Şekil alan alır ve görüntülenip görüntülenmeyeceğini denetler. (ShapeField kaynağından devralındı.)
Genel yöntem 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ı.)
Genel yöntem 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.)
Genel yöntem HasSelectedAppearance Şekil alan alır ve seçilmesi görüntülenip görüntülenmeyeceğini denetler. (ShapeField kaynağından devralındı.)
Genel yöntem 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ı.)
Genel yöntem 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ı.)
Korumalı yöntem MeasureDisplayText Belirli bir metni ölçmek için yardımcı yöntem.
Korumalı yöntem MemberwiseClone Geçerli yüzeysel bir kopyasını oluşturur Object. (Object kaynağından devralındı.)
Genel yöntem NavigateAscend Odağı Seçili şekiller için Gezinti sırası önceki Şekil alanına taşır. (ShapeField kaynağından devralındı.)
Genel yöntem NavigateDescend Odağı Seçili şekiller için Gezinti serisi İleri Şekil alanına taşır. (ShapeField kaynağından devralındı.)
Genel yöntem NavigateToFirst Odağı Seçili şekiller için Gezinti serisi ilk şeklini alana taşır. (ShapeField kaynağından devralındı.)
Genel yöntem NavigateToLast Odağı Seçili şekiller için Gezinti serisi son şeklini alana taşır. (ShapeField kaynağından devralındı.)
Genel yöntem NavigateToNext Odağı Seçili şekiller için Gezinti serisi İleri Şekil alanına taşır. (ShapeField kaynağından devralındı.)
Genel yöntem NavigateToPrevious Odağı Seçili şekiller için Gezinti sırası önceki Şekil alanına taşır. (ShapeField kaynağından devralındı.)
Korumalı yöntem OnBeginEdit Yerinde düzenleme başladığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem OnClick Kullanıcı bir şekil alan tıklatıldığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem OnDoubleClick Varsayılan olarak yerinde düzenlemeyi çağırır. (ShapeField.OnDoubleClick(DiagramPointEventArgs) geçersiz kılınır.)
Korumalı yöntem OnEndEdit Yerinde düzenleme tamamlandığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem OnKeyDown Bir şeklin alanını seçerek, kullanıcı bir tuşu basılı tutulan zaman dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem 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.)
Genel yöntem OnKeyUp Bir şeklin alanını seçerek, kullanıcı bir tuşa yayımladı zaman dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem OnMouseDown Kullanıcı fare basılı bir şekil alan üzerinde durdurulduğunda dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem OnMouseMove Fare Şekil alan takıldığında dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem OnMouseUp Kullanıcı fare düğmesini bir şekil alan piyasaya sürüldüğünde dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem OnMouseWheel Fare için döndürülmüş bir şekil alan zaman dinleyicileri uyarır. (ShapeField kaynağından devralındı.)
Genel yöntem Selected Şekil alan alır ve seçili olup olmadığını doğrular. (ShapeField kaynağından devralındı.)
Genel yöntem SetSelectionRange Seçim, bir dizi alt şekli alanları ayarlar. (ShapeField kaynağından devralındı.)
Genel yöntem SetValue Bir şekil alan için belirtilen değeri atar. (ShapeField kaynağından devralındı.)
Genel yöntem SetVisible Şekil alan görünürlüğünü belirler. (ShapeField kaynağından devralındı.)
Genel yöntem 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.

Uyarı notuUyarı

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.

Ayrıca bkz.

Başvuru

Microsoft.VisualStudio.Modeling.Diagrams Ad Alanı

InitializeShapeFields

StyleSet

ShapeField