Sdílet prostřednictvím


TextFormatter Třída

Definice

Poskytuje služby pro formátování textu a dělení řádků textu pomocí vlastního klienta rozložení textu.

public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
    interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
Dědičnost
TextFormatter
Implementuje

Příklady

Následující příklad ukazuje, jak použít TextFormatter objekt k vygenerování formátovaných řádků textu, které lze zobrazit jako nakreslené objekty.

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

Poznámky

TextFormatter je textový stroj WPF, který poskytuje služby pro formátování textu a dělení textových řádků. TextFormatter dokáže zpracovat různé formáty textových znaků a styly odstavců a zahrnuje podporu pro mezinárodní rozložení textu.

Na rozdíl od tradičního textového rozhraní API TextFormatter komunikuje s klientem rozložení textu prostřednictvím sady metod zpětného volání. Vyžaduje, aby klient poskytl tyto metody v implementaci třídy TextSource. Následující diagram znázorňuje interakci klienta formátovače textu a klienta rozložení textu.

Diagram klienta rozložení textu a objektu TextFormatter Diagram Interakce mezi klientem rozložení textu a objektem TextFormatter

Služby formátování textu

TextFormatter poskytuje podporu textových funkcí, jako je typografie Typu OpenType, a také podpora funkcí na úrovni textu, řádku a odstavce.

Následující tabulka obsahuje seznam klíčových TextFormatter podporovaných služeb pro textové funkce.

funkce Description
Štětec na pozadí Používá se Brush pro barvu pozadí. Podívejte se na BackgroundBrush vlastnost.
Zarovnání podle směrného plánu Určuje vzdálenost účaří čáry. Podívejte se na BaselineAlignment vlastnost.
Propojení písem Poskytuje propojení písem pomocí složených písem.
Štětec popředí Používá se Brush pro barvu popředí. Podívejte se na ForegroundBrush vlastnost.
formát písma OpenType Pokročilé typografické funkce OpenType, jako jsou kontextové alternativy a standardní ligatury. Prohlédněte si TextRunTypographyProperties vlastnosti třídy.
Písmo Určuje typ písma a také tloušťku, styl a roztažení. Podívejte se na Typeface vlastnost.
Dekorace textu Poskytuje podporu pro TextDecoration objekty, jako je podtržení nebo přeškrtnutí. Podívejte se na TextDecorations vlastnost.
Textové efekty Poskytuje podporu pro TextEffect objekty. Podívejte se na TextEffects vlastnost.

Následující tabulka obsahuje seznam klíčových TextFormatter podporovaných služeb pro funkce na úrovni odstavce.

funkce Description
Směr toku Směr toku odstavce – zleva doprava nebo zprava doleva Podívejte se na FlowDirection vlastnost.
Odsazení řádku Odsazení pro každý řádek odstavce Podívejte se na Indent vlastnost.
Značkovač Vlastnosti značek prvního řádku odstavce. Podívejte se na TextMarkerProperties vlastnost.
Odsazení odstavce Odsazení prvního řádku odstavce Podívejte se na ParagraphIndent vlastnost.
Karty Obsahuje podporu pro zarovnání tabulátoru a vodicí znak tabulátoru.
Šířka Určete minimální a maximální šířku odstavce. Podívejte se na FormatMinMaxParagraphWidth metody.
zabalení Word Určete, jak se text zalamuje, když dosáhne hraničního toku. Podívejte se na TextWrapping vlastnost.

Následující tabulka obsahuje seznam klíčových TextFormatter podporovaných služeb pro funkce na úrovni řádku.

funkce Description
Zarovnání Zarovnání textu – doleva, doprava, na střed nebo do bloku Podívejte se na TextAlignment vlastnost.
Výška čáry Výška čáry Podívejte se na Height vlastnost.
Sbalení čar Podpora sbalení řádků Podívejte se na metodu Collapse .
Měření černé skříňky Představuje metriky použité k rozložení znaku v písmu zařízení. Podívejte se na třídu CharacterMetrics.
Podpora pro stříšku Podpora navigace pomocí stříšky a úpravy Podívejte se na vlastnosti přístupového znaku TextLine , například GetNextCaretCharacterHit a GetPreviousCaretCharacterHit.

Následující tabulka obsahuje seznam klíčových TextFormatter podporovaných služeb pro funkce na úrovni spuštění textu.

funkce Description
Skryté spuštění Rozsah znaků, které nejsou viditelné Prohlédněte si TextHidden objekt.
Žhavá novinka Zalomení řádku a odstavce

Konstruktory

Name Description
TextFormatter()

Inicializuje novou instanci TextFormatter třídy.

Metody

Name Description
Create()

Vytvoří novou instanci TextFormatter třídy. Jedná se o statickou metodu.

Create(TextFormattingMode)

Vytvoří novou instanci TextFormatter třídy se zadaným režimem formátování. Jedná se o statickou metodu.

Dispose()

Uvolní všechny spravované a nespravované prostředky používané objektem TextFormatter .

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache)

Vytvoří TextLine , který se použije k formátování a zobrazení obsahu dokumentu.

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

Vytvoří TextLine , který se použije k formátování a zobrazení obsahu dokumentu.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache)

Vrátí hodnotu, která představuje nejmenší a největší možnou šířku odstavce, která může plně obsahovat zadaný textový obsah.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Vrátí hodnotu, která představuje nejmenší a největší možnou šířku odstavce, která může plně obsahovat zadaný textový obsah.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také