TextFormatter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Dienste zum Formatieren von Text und Umbrechen von Textzeilen mit einem benutzerdefinierten Textlayoutclient bereit.
public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
- Vererbung
-
TextFormatter
- Implementiert
Beispiele
Im folgenden Beispiel wird gezeigt, wie TextFormatter ein Objekt verwendet wird, um formatierte Textzeilen zu generieren, die als Zeichnungsobjekte angezeigt werden können.
// 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
Hinweise
TextFormatter ist das WPF-Textmodul, das Dienste für die Formatierung von Text und durchbrechende Textzeilen bereitstellt. TextFormatter kann verschiedene Textzeichenformate und Absatzformatvorlagen verarbeiten und unterstützung für das internationale Textlayout enthalten.
Im Gegensatz zu einer herkömmlichen Text-API interagieren die TextFormatter Interaktionen mit einem Textlayoutclient über eine Reihe von Rückrufmethoden. Er erfordert, dass der Client diese Methoden in einer Implementierung der TextSource Klasse bereitstellt. Das folgende Diagramm veranschaulicht die Interaktion des Textformatierclients und des Textlayoutclients.
Interaktion zwischen dem Textlayoutclient und dem TextFormatter-Objekt
Textformatierungsdienste
TextFormatter bietet Unterstützung für Textfeatures, z. B. OpenType-Typografie sowie Unterstützung für Textausführung, Zeilen- und Absatzebenenfeatures.
Die folgende Tabelle ist eine Liste der TextFormatter unterstützten Dienste für Textfeatures.
Funktion | Beschreibung |
---|---|
Hintergrundpinsel | Das Brush wird für die Hintergrundfarbe verwendet. Weitere Informationen finden Sie unter der BackgroundBrush-Eigenschaft. |
Geplante Ausrichtung | Bestimmt den Basisabstand der Linie. Weitere Informationen finden Sie unter der BaselineAlignment-Eigenschaft. |
Schriftartverknüpfung | Stellt die Schriftartverknüpfung über die Verwendung von zusammengesetzten Schriftarten bereit. |
Vordergrundpinsel | Das Brush wird für die Vordergrundfarbe verwendet. Weitere Informationen finden Sie unter der ForegroundBrush-Eigenschaft. |
OpenType | Erweiterte OpenType-Typografiefeatures, solche kontextbezogenen Alternativen und Standardligaturen. Sehen Sie sich die TextRunTypographyProperties Klasseneigenschaften an. |
Schriftart | Bestimmt das Schriftblatt sowie gewichtet, formatieren und dehnen. Weitere Informationen finden Sie unter der Typeface-Eigenschaft. |
Text-Dekoration | Bietet Unterstützung für TextDecoration Objekte, z. B. Unterstreichung oder Durchschläge. Weitere Informationen finden Sie unter der TextDecorations-Eigenschaft. |
Texteffekte | Bietet Unterstützung für TextEffect Objekte. Weitere Informationen finden Sie unter der TextEffects-Eigenschaft. |
Die folgende Tabelle ist eine Liste der wichtigsten TextFormatter unterstützten Dienste für Funktionen auf Absatzebene.
Funktion | Beschreibung |
---|---|
Flow Richtung | Flow Richtung des Absatzes - links nach rechts oder rechts nach links. Weitere Informationen finden Sie unter der FlowDirection-Eigenschaft. |
Zeileneinzug | Einzug für jede Zeile im Absatz. Weitere Informationen finden Sie unter der Indent-Eigenschaft. |
Marker | Markierungseigenschaften der ersten Zeile im Absatz. Weitere Informationen finden Sie unter der TextMarkerProperties-Eigenschaft. |
Absatzeinzug | Einzug für die erste Zeile im Absatz. Weitere Informationen finden Sie unter der ParagraphIndent-Eigenschaft. |
Registerkarten | Enthält Unterstützung für die Ausrichtung von Registerkarten und Registerkartenführern. |
Breite | Bestimmen Sie die Mindest- und maximale Absatzbreite. Weitere Informationen finden Sie in den FormatMinMaxParagraphWidth Methoden. |
Zeilenumbruch | Bestimmen Sie, wie Text umschließt, wenn sie den Flussrand erreicht. Weitere Informationen finden Sie unter der TextWrapping-Eigenschaft. |
Die folgende Tabelle ist eine Liste der wichtigsten TextFormatter unterstützten Dienste für Funktionen auf Liniesebene.
Funktion | Beschreibung |
---|---|
Ausrichtung | Textausrichtung - links, rechts, zentriert oder gerechtfertigt. Weitere Informationen finden Sie unter der TextAlignment-Eigenschaft. |
Zeilenhöhe | Höhe der Linie. Weitere Informationen finden Sie unter der Height-Eigenschaft. |
Zeilenabbruch | Zeilenabbruchunterstützung. Siehe die Collapse Methode. |
Black Box-Maß | Stellt die Metriken dar, mit denen das Layout eines Zeichens in einer Geräteschriftart erstellt wird. Weitere Informationen finden Sie unter der CharacterMetrics-Klasse. |
Caret Support | Caret Navigation und Bearbeitungsunterstützung. Sehen Sie sich die TextLine Zeichentreffeigenschaften an, z GetNextCaretCharacterHit . B. und GetPreviousCaretCharacterHit. |
In der folgenden Tabelle handelt es sich um eine Liste der TextFormatter wichtigsten unterstützten Dienste für Textausführungsfeatures.
Funktion | Beschreibung |
---|---|
Ausgeblendete Ausführung | Bereich von Zeichen, die nicht sichtbar sind. Siehe das TextHidden Objekt. |
Breaking | Zeilen- und Absatzumbruch. |
Konstruktoren
TextFormatter() |
Initialisiert eine neue Instanz der TextFormatter-Klasse. |
Methoden
Create() |
Erstellt eine neue Instanz der TextFormatter-Klasse. Dies ist eine statische Methode. |
Create(TextFormattingMode) |
Erstellt eine neue Instanz der TextFormatter-Klasse mit dem angegebenen Formatierungsmodus. Dies ist eine statische Methode. |
Dispose() |
Gibt alle verwalteten und nicht verwalteten Ressourcen frei, die vom TextFormatter-Objekt verwendet werden. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak) |
Erstellt eine TextLine, die zum Formatieren und Anzeigen von Dokumentinhalt verwendet wird. |
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) |
Erstellt eine TextLine, die zum Formatieren und Anzeigen von Dokumentinhalt verwendet wird. |
FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) |
Gibt einen Wert zurück, der die kleinstmögliche und größtmögliche Absatzbreite darstellt, die den angegebenen Textinhalt vollständig enthalten kann. |
FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) |
Gibt einen Wert zurück, der die kleinstmögliche und größtmögliche Absatzbreite darstellt, die den angegebenen Textinhalt vollständig enthalten kann. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |