TextFormatter Classe

Définition

Fournit des services pour la mise en forme de texte et la coupure de lignes de texte à l'aide d'un client de disposition de texte personnalisée.

public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
    interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
Héritage
TextFormatter
Implémente

Exemples

L’exemple suivant montre comment utiliser un TextFormatter objet pour générer des lignes de texte mises en forme qui peuvent être affichées en tant qu’objets de dessin.

// 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

Remarques

TextFormatter est le moteur de texte WPF qui fournit des services pour mettre en forme du texte et briser des lignes de texte. TextFormatter peut gérer différents formats de caractères de texte et styles de paragraphe, et inclut la prise en charge de la disposition de texte internationale.

Contrairement à une API de texte traditionnelle, l’interaction TextFormatter avec un client de disposition de texte via un ensemble de méthodes de rappel. Il nécessite que le client fournisse ces méthodes dans une implémentation de la TextSource classe. Le diagramme suivant illustre l’interaction du client de formateur de texte et du client de disposition de texte.

Diagramme du client de disposition du texte et TextFormatter
Interaction entre le client de disposition de texte et l’objet TextFormatter

Services de mise en forme de texte

TextFormatter prend en charge les fonctionnalités de texte, telles que la typographie OpenType, ainsi que la prise en charge des fonctionnalités d’exécution de texte, de ligne et de paragraphe.

Le tableau suivant est une liste des services pris en charge par les clés TextFormatter pour les fonctionnalités de texte.

Fonctionnalité Description
Pinceau d’arrière-plan Utilisé Brush pour la couleur d’arrière-plan. Voir la propriété BackgroundBrush.
Alignement de la ligne de base Détermine la distance de base de la ligne. Voir la propriété BaselineAlignment.
Liaison de polices Fournit une liaison de polices via l’utilisation de polices composites.
Pinceau de premier plan Utilisé Brush pour la couleur de premier plan. Voir la propriété ForegroundBrush.
OpenType Fonctionnalités typographiques OpenType avancées, telles que les alternatives contextuelles et les ligatures standard. Consultez les propriétés de la TextRunTypographyProperties classe.
Police Détermine la police, ainsi que le poids, le style et l’étirement. Voir la propriété Typeface.
Décoration de texte Fournit la prise en charge des TextDecoration objets, tels que le soulignement ou la frappe. Voir la propriété TextDecorations.
Effets de texte Fournit la prise en charge des TextEffect objets. Voir la propriété TextEffects.

Le tableau suivant est une liste des services pris en charge clés TextFormatter pour les fonctionnalités au niveau du paragraphe.

Fonctionnalité Description
direction Flow Flow direction du paragraphe - gauche à droite, ou de droite à gauche. Voir la propriété FlowDirection.
Retrait de ligne Retrait pour chaque ligne du paragraphe. Voir la propriété Indent.
Marqueur Caractéristiques des marqueurs de la première ligne du paragraphe. Voir la propriété TextMarkerProperties.
Retrait de paragraphe Retrait pour la première ligne du paragraphe. Voir la propriété ParagraphIndent.
Tabulations Inclut la prise en charge de l’alignement des onglets et du leader de tabulation.
Largeur Déterminez la largeur minimale et maximale du paragraphe. Consultez les FormatMinMaxParagraphWidth méthodes.
Retour automatique à la ligne Déterminez comment le texte s’encapsule lorsqu’il atteint le bord du flux. Voir la propriété TextWrapping.

Le tableau suivant est une liste des services pris en charge clés TextFormatter pour les fonctionnalités au niveau de la ligne.

Fonctionnalité Description
Alignment Alignement du texte - gauche, droit, centré ou justifié. Voir la propriété TextAlignment.
Hauteur de ligne Hauteur de la ligne. Voir la propriété Height.
Réduction de la ligne Prise en charge de la réduction des lignes. Consultez la Collapse méthode.
Mesure de boîte noire Représente la métrique utilisée pour effectuer la mise en page d'un caractère dans une police de périphérique. Consultez la classe CharacterMetrics.
Prise en charge de Caret Prise en charge de la navigation et de l’édition caresses. Consultez les propriétés d’accès TextLine au caractère, telles que GetNextCaretCharacterHit et GetPreviousCaretCharacterHit.

Le tableau suivant est une liste des services pris en charge par les clés TextFormatter pour les fonctionnalités au niveau de l’exécution de texte.

Fonctionnalité Description
Exécution masquée Plage de caractères qui ne sont pas visibles. Consultez l’objet TextHidden .
Rupture Saut de ligne et de paragraphe.

Constructeurs

TextFormatter()

Initialise une nouvelle instance de la classe TextFormatter.

Méthodes

Create()

Crée une instance de la classe TextFormatter. Il s’agit d’une méthode statique.

Create(TextFormattingMode)

Crée une nouvelle instance de la classe TextFormatter avec le mode de mise en forme spécifié. Il s’agit d’une méthode statique.

Dispose()

Libère toutes les ressources managées et non managées utilisées par l'objet TextFormatter.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak)

Crée un TextLine qui est utilisé pour mettre en forme et afficher le contenu de document.

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

Crée un TextLine qui est utilisé pour mettre en forme et afficher le contenu de document.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Retourne une valeur qui représente la largeur de paragraphe la plus petite et la plus grande possible pouvant contenir entièrement le contenu de texte spécifié.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache)

Retourne une valeur qui représente la largeur de paragraphe la plus petite et la plus grande possible pouvant contenir entièrement le contenu de texte spécifié.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi