TextFormatter Klas

Definitie

Biedt services voor het opmaken van tekst en brekende tekstregels met behulp van een aangepaste client voor tekstindeling.

public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
    interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
Overname
TextFormatter
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u een TextFormatter object gebruikt om opgemaakte tekstregels te genereren die als tekenobjecten kunnen worden weergegeven.

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

Opmerkingen

TextFormatter is de WPF tekstengine die services biedt voor het opmaken van tekst en het verbreken van tekstregels. TextFormatter kan verschillende tekenopmaak en alineastijlen verwerken en bevat ondersteuning voor internationale tekstindelingen.

In tegenstelling tot een traditionele tekst-API communiceert de TextFormatter met een tekstindelingsclient via een set callback-methoden. Hiervoor moet de client deze methoden opgeven in een implementatie van de TextSource-klasse. In het volgende diagram ziet u de interactie van de client voor tekstopmaak en de client voor tekstindeling.

Diagram van client voor tekstindeling en Interactie tussen de client voor tekstindeling en het TextFormatter-object

Services voor tekstopmaak

TextFormatter biedt ondersteuning voor tekstfuncties, zoals OpenType-typografie, evenals ondersteuning voor functies op tekstuitvoering, lijn en alineaniveau.

De volgende tabel is een lijst met de belangrijkste TextFormatter ondersteunde services voor tekstfuncties.

Feature Beschrijving
Achtergrondborstel De Brush kleur die wordt gebruikt voor de achtergrondkleur. Zie de BackgroundBrush eigenschap.
Uitlijning van basislijn Bepaalt de basislijnafstand van de lijn. Zie de BaselineAlignment eigenschap.
Lettertypekoppeling Biedt lettertypekoppelingen via het gebruik van samengestelde lettertypen.
Voorgrondborstel De Brush kleur die wordt gebruikt voor de voorgrondkleur. Zie de ForegroundBrush eigenschap.
OpenType Geavanceerde OpenType typografische functies, zoals contextuele alternatieven en standaard ligaturen. Bekijk de TextRunTypographyProperties klasse-eigenschappen.
Lettertype Bepaalt het lettertype, evenals het gewicht, de stijl en de stretch. Zie de Typeface eigenschap.
Tekstdecoratie Biedt ondersteuning voor TextDecoration objecten, zoals onderstrepen of doorhalen. Zie de TextDecorations eigenschap.
Teksteffecten Biedt ondersteuning voor TextEffect objecten. Zie de TextEffects eigenschap.

De volgende tabel is een lijst met de belangrijkste TextFormatter ondersteunde services voor functies op alineaniveau.

Feature Beschrijving
Stroomrichting Richting van de alinea: van links naar rechts of van rechts naar links. Zie de FlowDirection eigenschap.
Regel inspringing Inspringing voor elke regel in de alinea. Zie de Indent eigenschap.
markeerstift Markeringskenmerken van de eerste regel in de alinea. Zie de TextMarkerProperties eigenschap.
Alinea-inspringing Inspringing voor de eerste regel in de alinea. Zie de ParagraphIndent eigenschap.
Tabbladen Bevat ondersteuning voor tabuitlijning en tableider.
Breedte Bepaal de minimale en maximale alineabreedte. Bekijk de FormatMinMaxParagraphWidth methoden.
Tekstomloop Bepalen hoe tekst terugloopt wanneer deze de stroomrand bereikt. Zie de TextWrapping eigenschap.

De volgende tabel is een lijst met de belangrijkste TextFormatter ondersteunde services voor functies op regelniveau.

Feature Beschrijving
Uitlijning Tekstuitlijning: links, rechts, gecentreerd of uitgevuld. Zie de TextAlignment eigenschap.
Regelhoogte Hoogte van de lijn. Zie de Height eigenschap.
Lijn samenvouwen Ondersteuning voor het samenvouwen van lijnen. Zie de Collapse methode.
Zwarte doos meting Vertegenwoordigt de metrische gegevens die worden gebruikt om een teken in een apparaatlettertype in te stellen. Zie de klasse CharacterMetrics.
Caret-ondersteuning Navigatie- en bewerkingsondersteuning voor caret. Bekijk de eigenschappen van de TextLine tekentreffers, zoals GetNextCaretCharacterHit en GetPreviousCaretCharacterHit.

De volgende tabel is een lijst met de belangrijkste TextFormatter ondersteunde services voor functies op tekstuitvoeringsniveau.

Feature Beschrijving
Verborgen uitvoering Bereik van tekens die niet zichtbaar zijn. Zie het TextHidden object.
Onderbreking Regel- en alinea-einden.

Constructors

Name Description
TextFormatter()

Initialiseert een nieuw exemplaar van de TextFormatter klasse.

Methoden

Name Description
Create()

Hiermee maakt u een nieuw exemplaar van de TextFormatter klasse. Dit is een statische methode.

Create(TextFormattingMode)

Hiermee maakt u een nieuw exemplaar van de TextFormatter klasse met de opgegeven opmaakmodus. Dit is een statische methode.

Dispose()

Alle beheerde en onbeheerde resources die door het TextFormatter object worden gebruikt, worden uitgebracht.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache)

Hiermee maakt u een TextLine bestand dat wordt gebruikt voor het opmaken en weergeven van documentinhoud.

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

Hiermee maakt u een TextLine bestand dat wordt gebruikt voor het opmaken en weergeven van documentinhoud.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache)

Retourneert een waarde die de kleinste en grootste alineabreedte aangeeft die de opgegeven tekstinhoud volledig kan bevatten.

FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties)

Retourneert een waarde die de kleinste en grootste alineabreedte aangeeft die de opgegeven tekstinhoud volledig kan bevatten.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook