TextFormatter Classe
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce servizi per la formattazione del testo e per inserire interruzioni di riga utilizzando un client di layout del testo personalizzato.
public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
- Ereditarietà
-
TextFormatter
- Implementazioni
Nell'esempio seguente viene illustrato come usare un TextFormatter oggetto per generare righe formattate di testo che possono essere visualizzate come oggetti di disegno.
// 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
TextFormatter è il motore di testo WPF che fornisce servizi per la formattazione del testo e l'interruzione delle righe di testo. TextFormatter può gestire diversi formati di caratteri di testo e stili di paragrafo e include il supporto per il layout di testo internazionale.
A differenza di un'API di testo tradizionale, l'utente TextFormatter interagisce con un client di layout di testo tramite un set di metodi di callback. È necessario che il client fornisca questi metodi in un'implementazione della TextSource classe. Il diagramma seguente illustra l'interazione del client di formattazione del testo e del client di layout di testo.
Interazione tra il client di layout di testo e l'oggetto TextFormatter
TextFormatter fornisce il supporto per le funzionalità di testo, ad esempio la tipografia OpenType, nonché il supporto per le funzionalità di esecuzione del testo, riga e livello di paragrafo.
La tabella seguente è un elenco dei TextFormatter principali servizi supportati per le funzionalità di testo.
Funzionalità | Descrizione |
---|---|
Pennello di sfondo | Oggetto Brush utilizzato per il colore di sfondo. Vedere la proprietà BackgroundBrush. |
Allineamento della linea di base | Determina la distanza di base della linea. Vedere la proprietà BaselineAlignment. |
Collegamento dei tipi di carattere | Fornisce il collegamento del tipo di carattere tramite l'uso di tipi di carattere compositi. |
Pennello in primo piano | Oggetto Brush utilizzato per il colore di primo piano. Vedere la proprietà ForegroundBrush. |
OpenType | Funzionalità tipografiche OpenType avanzate, ad esempio alternative contestuali e legature standard. Vedere le proprietà della TextRunTypographyProperties classe. |
Tipo di carattere | Determina il carattere di tipo, nonché, il peso, lo stile e l'estensione. Vedere la proprietà Typeface. |
Decorazione del testo | Fornisce supporto per TextDecoration oggetti, ad esempio sottolineatura o barratura. Vedere la proprietà TextDecorations. |
Effetti di testo | Fornisce il supporto per TextEffect gli oggetti. Vedere la proprietà TextEffects. |
La tabella seguente è un elenco dei TextFormatter servizi supportati principali per le funzionalità a livello di paragrafo.
Funzionalità | Descrizione |
---|---|
Flow direzione | Flow direzione del paragrafo - da sinistra a destra o da destra a sinistra. Vedere la proprietà FlowDirection. |
Rientro riga | Rientro per ogni riga del paragrafo. Vedere la proprietà Indent. |
Marcatore | Caratteristiche del marcatore della prima riga del paragrafo. Vedere la proprietà TextMarkerProperties. |
Rientro paragrafo | Rientro per la prima riga del paragrafo. Vedere la proprietà ParagraphIndent. |
Schede | Include il supporto per l'allineamento delle schede e il leader di tabulazione. |
Larghezza | Determinare la larghezza minima e massima del paragrafo. Vedere i FormatMinMaxParagraphWidth metodi. |
A capo automatico | Determinare la modalità di wrapping del testo quando raggiunge il bordo del flusso. Vedere la proprietà TextWrapping. |
La tabella seguente è un elenco dei servizi supportati principali TextFormatter per le funzionalità a livello di riga.
Funzionalità | Descrizione |
---|---|
Allineamento | Allineamento del testo: sinistro, destro, centrato o giustificato. Vedere la proprietà TextAlignment. |
Altezza riga | Altezza della linea. Vedere la proprietà Height. |
Regole di confronto della linea | Supporto per il confronto della riga. Vedere il Collapse metodo. |
Misurazione della scatola nera | Rappresenta le metriche utilizzate per definire il layout di un carattere in un carattere per stampante. Vedere la classe CharacterMetrics. |
Supporto di Caret | Supporto di spostamento e modifica del caret. Vedere le proprietà di hit del TextLine carattere, ad esempio GetNextCaretCharacterHit e GetPreviousCaretCharacterHit. |
La tabella seguente è un elenco dei servizi supportati per le funzionalità a livello di TextFormatter esecuzione del testo.
Funzionalità | Descrizione |
---|---|
Esecuzione nascosta | Intervallo di caratteri non visibili. Vedere l'oggetto TextHidden . |
Interruzione | Interruzione riga e paragrafo. |
Text |
Inizializza una nuova istanza della classe TextFormatter. |
Create() |
Crea una nuova istanza della classe TextFormatter. Si tratta di un metodo statico. |
Create(Text |
Crea una nuova istanza della classe TextFormatter con la modalità di formattazione specificata. Si tratta di un metodo statico. |
Dispose() |
Libera tutte le risorse gestite e non gestite utilizzate dall’oggetto TextFormatter. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Format |
Crea un oggetto TextLine utilizzato per formattare e visualizzare il contenuto del documento. |
Format |
Crea un oggetto TextLine utilizzato per formattare e visualizzare il contenuto del documento. |
Format |
Restituisce un valore che rappresenta la maggiore e la minore larghezza possibili del paragrafo che possono contenere completamente il testo specificato. |
Format |
Restituisce un valore che rappresenta la maggiore e la minore larghezza possibili del paragrafo che possono contenere completamente il testo specificato. |
Get |
Funge da funzione hash predefinita. (Ereditato da Object) |
Get |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
Memberwise |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
To |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Prodotto | Versioni |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
Windows Desktop | 3.0, 3.1, 5, 6, 7 |