TextFormatter Třída

Definice

Poskytuje služby pro formátování textu a dělení řádků textu pomocí klienta vlastního 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ý modul WPF, který poskytuje služby pro formátování textu a dělení řádků textu. TextFormatter dokáže zpracovat různé formáty znaků textu 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 TextSource třídy. Následující diagram znázorňuje interakci klienta formátovače textu a klienta rozložení textu.

Diagram klienta rozložení textu a textového formátu
Interakce mezi klientem rozložení textu a objektem TextFormatter

Služby formátování textu

TextFormatter poskytuje podporu pro textové funkce, jako je typografie OpenType, a také podpora funkcí na úrovni textu, řádků a odstavců.

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

Funkce Popis
Štětec na pozadí Používá Brush se pro barvu pozadí. Podívejte se na BackgroundBrush vlastnost.
Zarovnání podle směrného plánu Určuje směrnou vzdálenost čá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á Brush se pro barvu popředí. Podívejte se na ForegroundBrush vlastnost.
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 Popis
směr Flow Flow směru odstavce – zleva doprava nebo zprava doleva. Podívejte se na FlowDirection vlastnost.
Odsazení řádku Odsazení pro každý řádek v odstavci Podívejte se na Indent vlastnost.
Značku Vlastnosti značek prvního řádku v odstavci Podívejte se na TextMarkerProperties vlastnost.
Odsazení odstavce Odsazení prvního řádku odstavce Podívejte se na ParagraphIndent vlastnost.
Karty Obsahuje podporu zarovnání tabulátoru a vodicí znak tabulátoru.
Width (Šířka) Určete minimální a maximální šířku odstavce. Podívejte se na FormatMinMaxParagraphWidth metody.
Zalamování řádků Určete, jak se text zalamuje, když dosáhne okraje 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 Popis
Zarovnání Zarovnání textu – levý, pravý, zarovnaný nebo zarovnaný. Podívejte se na TextAlignment vlastnost.
Výška čáry Výška čáry. Podívejte se na Height vlastnost.
Sbalování čar Podpora sbalení řádků Podívejte se na metodu Collapse .
Měření černého rámečku Představuje metriky použité k rozložení znaku v písmu zařízení. Podívejte se na CharacterMetrics třídu.
Podpora stříšky Podpora navigace v stříšce a úpravy Prohlédněte si vlastnosti znakového hitu 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 Popis
Skryté spuštění Rozsah znaků, které nejsou viditelné. Prohlédněte si TextHidden objekt.
Narušující Přerušení řádku a odstavce

Konstruktory

TextFormatter()

Inicializuje novou instanci TextFormatter třídy.

Metody

Create()

Vytvoří novou instanci třídy TextFormatter. 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čí, zda se zadaný objekt rovná aktuálnímu objektu.

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

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

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

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

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.

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.

GetHashCode()

Slouží jako výchozí funkce hash.

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

Type Získá aktuální instanci.

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

Vytvoří použádnou kopii aktuálního souboru 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é