TextFormatter Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller tjänster för formatering av text och icke-bakåtkompatibla textrader med hjälp av en anpassad textlayoutklient.
public ref class TextFormatter abstract : IDisposable
public abstract class TextFormatter : IDisposable
type TextFormatter = class
interface IDisposable
Public MustInherit Class TextFormatter
Implements IDisposable
- Arv
-
TextFormatter
- Implementeringar
Exempel
I följande exempel visas hur du använder ett TextFormatter objekt för att generera formaterade textrader som kan visas som ritade objekt.
// 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
Kommentarer
TextFormatter är den WPF textmotorn som tillhandahåller tjänster för formatering av text och icke-bakåtkompatibla textrader. TextFormatter kan hantera olika textteckenformat och styckeformat och innehåller stöd för internationell textlayout.
Till skillnad från ett traditionellt text-API interagerar TextFormatter med en textlayoutklient via en uppsättning återanropsmetoder. Det kräver att klienten tillhandahåller dessa metoder i en implementering av klassen TextSource. Följande diagram illustrerar interaktionen mellan textformateringsklienten och textlayoutklienten.
Interaktion mellan textlayoutklienten och TextFormatter-objektet
Textformateringstjänster
TextFormatter ger stöd för textfunktioner, till exempel OpenType-typografi, samt stöd för textkörning, rad- och styckenivåfunktioner.
Följande tabell är en lista över de viktiga TextFormatter tjänster som stöds för textfunktioner.
| Feature | Description |
|---|---|
| Bakgrundspenslar | Det Brush som används för bakgrundsfärgen. Se egenskapen BackgroundBrush . |
| Baslinjejustering | Avgör linjens baslinjeavstånd. Se egenskapen BaselineAlignment . |
| Teckensnittslänkning | Tillhandahåller teckensnittslänkning med hjälp av sammansatta teckensnitt. |
| Förgrundspenslar | Det Brush som används för förgrundsfärgen. Se egenskapen ForegroundBrush . |
| OpenType | Avancerade opentype-typografiska funktioner, till exempel kontextuella alternativ och standardligaturer. TextRunTypographyProperties Se klassegenskaperna. |
| Typsnitt | Avgör typsnitt, samt vikt, stil och stretch. Se egenskapen Typeface . |
| Textdekoration | Ger stöd för TextDecoration objekt, till exempel understrykning eller genomstrykning. Se egenskapen TextDecorations . |
| Texteffekter | Ger stöd för TextEffect objekt. Se egenskapen TextEffects . |
Följande tabell är en lista över de viktiga TextFormatter tjänster som stöds för funktioner på styckenivå.
| Feature | Description |
|---|---|
| Flödesriktning | Flödesriktningen för stycket – från vänster till höger eller från höger till vänster. Se egenskapen FlowDirection . |
| Rad indrag | Indrag för varje rad i stycket. Se egenskapen Indent . |
| Markör | Marköregenskaper för den första raden i stycket. Se egenskapen TextMarkerProperties . |
| Stycke indrag | Indrag för den första raden i stycket. Se egenskapen ParagraphIndent . |
| Flikar | Innehåller stöd för flikjustering och flikledare. |
| Bredd | Fastställ minsta och högsta styckebredd. FormatMinMaxParagraphWidth Se metoderna. |
| Radbrytning | Avgör hur texten radbryts när den når flödeskanten. Se egenskapen TextWrapping . |
Följande tabell är en lista över de viktiga TextFormatter tjänster som stöds för funktioner på radnivå.
| Feature | Description |
|---|---|
| Justering | Textjustering – vänster, höger, centrerad eller berättigad. Se egenskapen TextAlignment . |
| Linjehöjd | Linjens höjd. Se egenskapen Height . |
| Linjekollaps | Stöd för radkollaps. Collapse Se metoden. |
| Mått för svart ruta | Representerar de mått som används för att ange ett tecken i ett enhetsteckensnitt. Se klassen CharacterMetrics. |
| Caret-support | Stöd för caret-navigering och redigering. Se egenskaperna för TextLine teckenträffen, till exempel GetNextCaretCharacterHit och GetPreviousCaretCharacterHit. |
Följande tabell är en lista över de viktiga TextFormatter tjänster som stöds för funktioner på textkörningsnivå.
| Feature | Description |
|---|---|
| Dold körning | Intervall med tecken som inte är synliga. Se objektet TextHidden . |
| Senaste nytt | Rad- och styckebrytning. |
Konstruktorer
| Name | Description |
|---|---|
| TextFormatter() |
Initierar en ny instans av TextFormatter klassen. |
Metoder
| Name | Description |
|---|---|
| Create() |
Skapar en ny instans av TextFormatter klassen. Det här är en statisk metod. |
| Create(TextFormattingMode) |
Skapar en ny instans av TextFormatter klassen med det angivna formateringsläget. Det här är en statisk metod. |
| Dispose() |
Släpper alla hanterade och ohanterade resurser som används av TextFormatter objektet. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak, TextRunCache) |
Skapar en TextLine som används för att formatera och visa dokumentinnehåll. |
| FormatLine(TextSource, Int32, Double, TextParagraphProperties, TextLineBreak) |
Skapar en TextLine som används för att formatera och visa dokumentinnehåll. |
| FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties, TextRunCache) |
Returnerar ett värde som representerar den minsta och största möjliga styckebredden som helt kan innehålla det angivna textinnehållet. |
| FormatMinMaxParagraphWidth(TextSource, Int32, TextParagraphProperties) |
Returnerar ett värde som representerar den minsta och största möjliga styckebredden som helt kan innehålla det angivna textinnehållet. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |