Udostępnij za pośrednictwem


TextFormatter Klasa

Definicja

Udostępnia usługi formatowania tekstu i wierszy tekstu powodującego niezgodność przy użyciu niestandardowego klienta układu tekstu.

public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
    interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
Dziedziczenie
TextFormatter
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak używać TextFormatter obiektu do generowania sformatowanych wierszy tekstu, które mogą być wyświetlane jako obiekty rysunkowe.

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

Uwagi

TextFormatter to aparat tekstowy WPF, który zapewnia usługi formatowania tekstu i wierszy tekstu powodującego niezgodność. TextFormatter może obsługiwać różne formaty znaków tekstowych i style akapitów oraz obsługę międzynarodowego układu tekstu.

W przeciwieństwie do tradycyjnego interfejsu API tekstu, TextFormatter interakcja z klientem układu tekstu za pomocą zestawu metod wywołania zwrotnego. Wymaga to, aby klient dostarczył te metody we wdrożeniu TextSource klasy . Na poniższym diagramie przedstawiono interakcję klienta formatatora tekstu i klienta układu tekstu.

Diagram klienta układu tekstu i textFormatter
Interakcja między klientem układu tekstu a obiektem TextFormatter

Usługi formatowania tekstu

TextFormatter Zapewnia obsługę funkcji tekstowych, takich jak typografia Typu OpenType, a także obsługa funkcji uruchamiania tekstu, wiersza i akapitu.

Poniższa tabela zawiera listę kluczowych TextFormatter obsługiwanych usług dla funkcji tekstowych.

Cecha Opis
Szczotka tła Element Brush , który jest używany dla koloru tła. BackgroundBrush Zobacz właściwość .
Wyrównanie linii bazowej Określa odległość linii bazowej. BaselineAlignment Zobacz właściwość .
Łączenie czcionek Udostępnia łączenie czcionek za pomocą czcionek złożonych.
Szczotka pierwszego planu Element Brush , który jest używany do koloru pierwszego planu. ForegroundBrush Zobacz właściwość .
OpenType Zaawansowane funkcje typograficzne typu OpenType, takie kontekstowe alternatywne i standardowe ligatury. TextRunTypographyProperties Zobacz właściwości klasy.
Krój czcionki Określa krój typów, a także wagę, styl i rozciąganie. Typeface Zobacz właściwość .
Dekoracja tekstu Zapewnia obsługę TextDecoration obiektów, takich jak podkreślenie lub przekreślenie. TextDecorations Zobacz właściwość .
Efekty tekstowe Zapewnia obsługę TextEffect obiektów. TextEffects Zobacz właściwość .

Poniższa tabela zawiera listę kluczowych TextFormatter obsługiwanych usług dla funkcji na poziomie akapitu.

Cecha Opis
kierunek Flow Flow kierunku akapitu — od lewej do prawej lub od prawej do lewej. FlowDirection Zobacz właściwość .
Wcięcie linii Wcięcie dla każdego wiersza w akapicie. Indent Zobacz właściwość .
Znacznik Cechy znaczników pierwszego wiersza w akapicie. TextMarkerProperties Zobacz właściwość .
Wcięcie akapitu Wcięcie pierwszego wiersza w akapicie. ParagraphIndent Zobacz właściwość .
Karty Obejmuje obsługę wyrównania kart i lidera tabulacji.
Width Określ minimalną i maksymalną szerokość akapitu. FormatMinMaxParagraphWidth Zobacz metody.
Zawijanie wierszy Określ sposób zawijania tekstu po osiągnięciu krawędzi przepływu. TextWrapping Zobacz właściwość .

Poniższa tabela zawiera listę kluczowych TextFormatter obsługiwanych usług dla funkcji na poziomie wiersza.

Cecha Opis
Wyrównanie Wyrównanie tekstu — lewe, prawe, wyśrodkowane lub uzasadnione. TextAlignment Zobacz właściwość .
Wysokość linii Wysokość linii. Height Zobacz właściwość .
Zwijanie linii Obsługa zwijania linii. Zobacz metodę Collapse .
Pomiar czarnej skrzynki Reprezentuje metryki używane do układania znaku w czcionki urządzenia. Zobacz klasę CharacterMetrics .
Obsługa karetki Obsługa nawigacji i edytowania karetki. TextLine Zobacz właściwości trafienia znaku, takie jak GetNextCaretCharacterHit i GetPreviousCaretCharacterHit.

Poniższa tabela zawiera listę kluczowych TextFormatter obsługiwanych usług dla funkcji na poziomie uruchamiania tekstu.

Cecha Opis
Ukryty przebieg Zakres znaków, które nie są widoczne. TextHidden Zobacz obiekt.
Kluczowa Podział wierszy i akapitów.

Konstruktory

TextFormatter()

Inicjuje nowe wystąpienie klasy TextFormatter.

Metody

Create()

Tworzy nowe wystąpienie klasy TextFormatter. Jest to metoda statyczna.

Create(TextFormattingMode)

Tworzy nowe wystąpienie TextFormatter klasy z określonym trybem formatowania. Jest to metoda statyczna.

Dispose()

Zwalnia wszystkie zarządzane i niezarządzane zasoby używane przez TextFormatter obiekt.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak)

Tworzy obiekt TextLine używany do formatowania i wyświetlania zawartości dokumentu.

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

Tworzy obiekt TextLine używany do formatowania i wyświetlania zawartości dokumentu.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Zwraca wartość reprezentującą najmniejszą i największą możliwą szerokość akapitu, która może w pełni zawierać określoną zawartość tekstową.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache)

Zwraca wartość reprezentującą najmniejszą i największą możliwą szerokość akapitu, która może w pełni zawierać określoną zawartość tekstową.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też