TextFormatter Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.
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) |