Aracılığıyla paylaş


TextFormatter Sınıf

Tanım

Özel bir metin düzeni istemcisi kullanarak metinleri biçimlendirmeye ve metin satırlarını kesmeye yönelik hizmetler sağlar.

public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
    interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
Devralma
TextFormatter
Uygulamalar

Örnekler

Aşağıdaki örnekte, çizim nesneleri olarak görüntülenebilen biçimlendirilmiş metin satırları oluşturmak için nesnenin TextFormatter nasıl kullanılacağı gösterilmektedir.

// Create a TextFormatter object.
TextFormatter formatter = TextFormatter.Create();

// Create common paragraph property settings.
CustomTextParagraphProperties customTextParagraphProperties
    = new CustomTextParagraphProperties();

// Format each line of text from the text store and draw it.
while (textStorePosition < customTextSource.Text.Length)
{
    // Create a textline from the text store using the TextFormatter object.
    using (TextLine myTextLine = formatter.FormatLine(
        customTextSource,
        textStorePosition,
        96 * 6,
        customTextParagraphProperties,
        null))
    {
        // Draw the formatted text into the drawing context.
        myTextLine.Draw(drawingContext, linePosition, InvertAxes.None);

        // Update the index position in the text store.
        textStorePosition += myTextLine.Length;

        // Update the line position coordinate for the displayed line.
        linePosition.Y += myTextLine.Height;
    }
}
' Create a TextFormatter object.
Dim formatter As TextFormatter = TextFormatter.Create()

' Create common paragraph property settings.
Dim customTextParagraphProperties As New CustomTextParagraphProperties()

' Format each line of text from the text store and draw it.
Do While textStorePosition < customTextSource.Text.Length
    ' Create a textline from the text store using the TextFormatter object.
    Using myTextLine As TextLine = formatter.FormatLine(customTextSource, textStorePosition, 96 * 6, customTextParagraphProperties, Nothing)
        ' Draw the formatted text into the drawing context.
        myTextLine.Draw(drawingContext, linePosition, InvertAxes.None)

        ' Update the index position in the text store.
        textStorePosition += myTextLine.Length

        ' Update the line position coordinate for the displayed line.
        linePosition.Y += myTextLine.Height
    End Using
Loop

Açıklamalar

TextFormatter , metin biçimlendirme ve metin satırlarını kesmeye yönelik hizmetler sağlayan WPF metin altyapısıdır. TextFormatter farklı metin karakter biçimlerini ve paragraf stillerini işleyebilir ve uluslararası metin düzeni desteği içerir.

Geleneksel bir metin API'sinin TextFormatter aksine, bir dizi geri çağırma yöntemi aracılığıyla bir metin düzeni istemcisiyle etkileşim kurar. Müşterinin, TextSource sınıfının bir uygulamasında bu yöntemleri sağlaması gereklidir. Aşağıdaki diyagramda metin biçimlendirici istemcisi ile metin düzeni istemcisinin etkileşimi gösterilmektedir.

Metin düzeni istemcisi ve TextFormatter Metin düzeni istemcisi ile TextFormatter nesnesi arasındaki etkileşim

Metin Biçimlendirme Hizmetleri

TextFormatter OpenType tipografisi gibi metin özellikleri için desteğin yanı sıra metin çalıştırması, satır ve paragraf düzeyi özellikleri için destek sağlar.

Aşağıdaki tabloda, metin özellikleri için desteklenen önemli TextFormatter hizmetlerin listesi yer alır.

Özellik Açıklama
Arka plan fırçası Brush Arka plan rengi için kullanılan. Özelliğine BackgroundBrush bakın.
Temel hizalama Çizginin taban çizgisi uzaklığı belirler. Özelliğine BaselineAlignment bakın.
Yazı tipi bağlama Bileşik yazı tiplerinin kullanımı aracılığıyla yazı tipi bağlaması sağlar.
Ön plan fırçası Brush Ön plan rengi için kullanılan. Özelliğine ForegroundBrush bakın.
OpenType Bağlamsal alternatifler ve standart ligatürler gibi gelişmiş OpenType tipografik özellikleri. Sınıf özelliklerine TextRunTypographyProperties bakın.
Yazı Yazı tipinin yanı sıra ağırlığı, stili ve esnetmeyi belirler. Özelliğine Typeface bakın.
Metin dekorasyonu Alt çizgi veya üstü çizili gibi nesneler için TextDecoration destek sağlar. Özelliğine TextDecorations bakın.
Metin efektleri Nesneler için TextEffect destek sağlar. Özelliğine TextEffects bakın.

Aşağıdaki tablo, paragraf düzeyi özellikler için desteklenen temel TextFormatter hizmetlerin listesidir.

Özellik Açıklama
Akış yönü Paragrafın akış yönü- soldan sağa veya sağdan sola. Özelliğine FlowDirection bakın.
Satır girintisi Paragraftaki her satır için girinti. Özelliğine Indent bakın.
İşaretleyici Paragraftaki ilk satırın işaretleyici özellikleri. Özelliğine TextMarkerProperties bakın.
Paragraf girintisi Paragrafın ilk satırı için girinti. Özelliğine ParagraphIndent bakın.
Sekme Sekme hizalama ve sekme öncüsü desteği içerir.
Genişlik En düşük ve en yüksek paragraf genişliğini belirleyin. Yöntemlere FormatMinMaxParagraphWidth bakın.
Metin kaydırma Metnin akış kenarına ulaştığında nasıl kaydırıldığından emin olun. Özelliğine TextWrapping bakın.

Aşağıdaki tablo, satır düzeyi özellikler için desteklenen temel TextFormatter hizmetlerin listesidir.

Özellik Açıklama
Hizalama Metin hizalaması: sol, sağ, ortalanmış veya iki yana yaslanmış. Özelliğine TextAlignment bakın.
Satır yüksekliği Çizginin yüksekliği. Özelliğine Height bakın.
Satır daraltma Satır daraltma desteği. Yöntemine Collapse bakın.
Kara kutu ölçümü Cihaz yazı tipinde bir karakteri düzenlemek için kullanılan ölçümleri temsil eder. CharacterMetrics sınıfına bakın.
Şapka işareti desteği Şapka işareti gezintisi ve düzenleme desteği. TextLine ve GetPreviousCaretCharacterHitgibi GetNextCaretCharacterHit karakter isabeti özelliklerine bakın.

Aşağıdaki tablo, metin çalışma düzeyi özellikleri için desteklenen temel TextFormatter hizmetlerin listesidir.

Özellik Açıklama
Gizli çalıştırma Görünür olmayan karakter aralığı. Nesneye TextHidden bakın.
Son Dakika Satır ve paragraf kesme.

Oluşturucular

Name Description
TextFormatter()

TextFormatter sınıfının yeni bir örneğini başlatır.

Yöntemler

Name Description
Create()

sınıfının yeni bir örneğini TextFormatter oluşturur. Bu statik bir yöntemdir.

Create(TextFormattingMode)

Belirtilen biçimlendirme moduyla sınıfının yeni bir örneğini TextFormatter oluşturur. Bu statik bir yöntemdir.

Dispose()

Nesnesi tarafından TextFormatter kullanılan tüm yönetilen ve yönetilmeyen kaynakları serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache)

Belge içeriğini biçimlendirmek ve görüntülemek için kullanılan bir TextLine oluşturur.

FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak)

Belge içeriğini biçimlendirmek ve görüntülemek için kullanılan bir TextLine oluşturur.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache)

Belirtilen metin içeriğini tam olarak içerebilen mümkün olan en küçük ve en büyük paragraf genişliğini temsil eden bir değer döndürür.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Belirtilen metin içeriğini tam olarak içerebilen mümkün olan en küçük ve en büyük paragraf genişliğini temsil eden bir değer döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.