Bagikan melalui


TextFormatter Kelas

Definisi

Menyediakan layanan untuk memformat teks dan melanggar baris teks menggunakan klien tata letak teks kustom.

public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
    interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
Warisan
TextFormatter
Penerapan

Contoh

Contoh berikut menunjukkan cara menggunakan TextFormatter objek untuk menghasilkan baris teks yang diformat yang dapat ditampilkan sebagai objek gambar.

// 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

Keterangan

TextFormatter adalah mesin teks WPF yang menyediakan layanan untuk memformat teks dan melanggar baris teks. TextFormatter dapat menangani format karakter teks dan gaya paragraf yang berbeda, dan menyertakan dukungan untuk tata letak teks internasional.

Tidak seperti API teks tradisional, TextFormatter berinteraksi dengan klien tata letak teks melalui serangkaian metode panggilan balik. Ini mengharuskan klien untuk menyediakan metode ini dalam implementasi TextSource kelas. Diagram berikut mengilustrasikan interaksi klien pemformat teks dan klien tata letak teks.

Diagram klien tata letak teks dan Diagram TextFormatter Interaksi antara klien tata letak teks dan objek TextFormatter

Layanan Pemformatan Teks

TextFormatter menyediakan dukungan untuk fitur teks, seperti tipografi OpenType, serta dukungan untuk fitur tingkat teks, garis, dan paragraf.

Tabel berikut adalah daftar layanan utama TextFormatter yang didukung untuk fitur teks.

Feature Deskripsi
Kuas latar belakang Brush yang digunakan untuk warna latar belakang. BackgroundBrush Lihat properti .
Perataan garis besar Menentukan jarak garis besar garis. BaselineAlignment Lihat properti .
Penautan font Menyediakan penautan font melalui penggunaan font komposit.
Kuas latar depan Brush yang digunakan untuk warna latar depan. ForegroundBrush Lihat properti .
OpenType Fitur tipografi OpenType tingkat lanjut, seperti alternatif kontekstual dan ligatur standar. TextRunTypographyProperties Lihat properti kelas.
Tipografi Menentukan jenis huruf, serta, berat, gaya, dan peregangan. Typeface Lihat properti .
Dekorasi teks Menyediakan dukungan untuk TextDecoration objek, seperti garis bawah atau coretan. TextDecorations Lihat properti .
Efek teks Menyediakan dukungan untuk TextEffect objek. TextEffects Lihat properti .

Tabel berikut adalah daftar layanan utama TextFormatter yang didukung untuk fitur tingkat paragraf.

Feature Deskripsi
Arah alur Arah alur paragraf - kiri-ke-kanan, atau kanan-ke-kiri. FlowDirection Lihat properti .
Indentasi baris Indentasi untuk setiap baris dalam paragraf. Indent Lihat properti .
Penanda Karakteristik penanda baris pertama dalam paragraf. TextMarkerProperties Lihat properti .
Indentasi paragraf Indentasi untuk baris pertama dalam paragraf. ParagraphIndent Lihat properti .
Tab Menyertakan dukungan untuk perataan tab dan pemandu tab.
Lebar Tentukan lebar paragraf minimum dan maksimum. Lihat metodenya FormatMinMaxParagraphWidth .
Pembungkus kata Tentukan bagaimana teks membungkus saat mencapai tepi alur. TextWrapping Lihat properti .

Tabel berikut adalah daftar layanan utama TextFormatter yang didukung untuk fitur tingkat baris.

Feature Deskripsi
Penyelarasan Perataan teks - kiri, kanan, tengah, atau rata kanan kiri. TextAlignment Lihat properti .
Tinggi baris Tinggi garis. Height Lihat properti .
Penciutan garis Dukungan penciutan baris. Lihat metode .Collapse
Pengukuran kotak hitam Mewakili metrik yang digunakan untuk menata karakter dalam font perangkat. Lihat kelas CharacterMetrics.
Dukungan caret Navigasi berkursi dan mengedit dukungan. Lihat properti hit TextLine karakter, seperti GetNextCaretCharacterHit dan GetPreviousCaretCharacterHit.

Tabel berikut adalah daftar layanan utama TextFormatter yang didukung untuk fitur tingkat eksekusi teks.

Feature Deskripsi
Eksekusi tersembunyi Rentang karakter yang tidak terlihat. TextHidden Lihat objek .
Berita Terkini Pemutusan baris dan paragraf.

Konstruktor

Nama Deskripsi
TextFormatter()

Menginisialisasi instans baru dari kelas TextFormatter.

Metode

Nama Deskripsi
Create()

Membuat instans TextFormatter baru kelas. Ini adalah metode statis.

Create(TextFormattingMode)

Membuat instans TextFormatter baru kelas dengan mode pemformatan yang ditentukan. Ini adalah metode statis.

Dispose()

Merilis semua sumber daya terkelola dan tidak terkelola yang TextFormatter digunakan oleh objek.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache)

TextLine Membuat yang digunakan untuk memformat dan menampilkan konten dokumen.

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

TextLine Membuat yang digunakan untuk memformat dan menampilkan konten dokumen.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache)

Mengembalikan nilai yang mewakili lebar paragraf terkecil dan terbesar yang dapat sepenuhnya berisi konten teks yang ditentukan.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Mengembalikan nilai yang mewakili lebar paragraf terkecil dan terbesar yang dapat sepenuhnya berisi konten teks yang ditentukan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga