TextFormatter Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
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) |