FormattedText Klass

Definition

Ger lågnivåkontroll för att rita text i Windows Presentation Foundation -program (WPF).

public ref class FormattedText
public class FormattedText
type FormattedText = class
Public Class FormattedText
Arv
FormattedText

Exempel

I följande exempel skapas ett FormattedText objekt och flera formateringsformat tillämpas sedan på texten.

protected override void OnRender(DrawingContext drawingContext)
{
    string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor";

    // Create the initial formatted text string.
    FormattedText formattedText = new FormattedText(
        testString,
        CultureInfo.GetCultureInfo("en-us"),
        FlowDirection.LeftToRight,
        new Typeface("Verdana"),
        32,
        Brushes.Black);

    // Set a maximum width and height. If the text overflows these values, an ellipsis "..." appears.
    formattedText.MaxTextWidth = 300;
    formattedText.MaxTextHeight = 240;

    // Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters.
    // The font size is calculated in terms of points -- not as device-independent pixels.
    formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5);

    // Use a Bold font weight beginning at the 6th character and continuing for 11 characters.
    formattedText.SetFontWeight(FontWeights.Bold, 6, 11);

    // Use a linear gradient brush beginning at the 6th character and continuing for 11 characters.
    formattedText.SetForegroundBrush(
                            new LinearGradientBrush(
                            Colors.Orange,
                            Colors.Teal,
                            90.0),
                            6, 11);

    // Use an Italic font style beginning at the 28th character and continuing for 28 characters.
    formattedText.SetFontStyle(FontStyles.Italic, 28, 28);

    // Draw the formatted text string to the DrawingContext of the control.
    drawingContext.DrawText(formattedText, new Point(10, 0));
}
Protected Overrides Sub OnRender(ByVal drawingContext As DrawingContext)
    Dim testString As String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"

    ' Create the initial formatted text string.
    Dim formattedText As New FormattedText(testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface("Verdana"), 32, Brushes.Black)

    ' Set a maximum width and height. If the text overflows these values, an ellipsis "..." appears.
    formattedText.MaxTextWidth = 300
    formattedText.MaxTextHeight = 240

    ' Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters.
    ' The font size is calculated in terms of points -- not as device-independent pixels.
    formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5)

    ' Use a Bold font weight beginning at the 6th character and continuing for 11 characters.
    formattedText.SetFontWeight(FontWeights.Bold, 6, 11)

    ' Use a linear gradient brush beginning at the 6th character and continuing for 11 characters.
    formattedText.SetForegroundBrush(New LinearGradientBrush(Colors.Orange, Colors.Teal, 90.0), 6, 11)

    ' Use an Italic font style beginning at the 28th character and continuing for 28 characters.
    formattedText.SetFontStyle(FontStyles.Italic, 28, 28)

    ' Draw the formatted text string to the DrawingContext of the control.
    drawingContext.DrawText(formattedText, New Point(10, 0))
End Sub

Kommentarer

Med objektet FormattedText kan du rita text med flera rader, där varje tecken i texten kan formateras individuellt. I följande exempel visas text som har flera format.

Text som visas med FormattedText-objektet Exempel på en formaterad textsträng

När det gäller textfunktioner i WPF anses FormattedText vara "lågnivå" eftersom den bearbetar text som grafiska element. Andra aspekter av text i WPF hantera text i samband med kontroller som är dedikerade till text (TextBlock, TextBox), implementera flödesdokumentmodellen (se Flow Document Overview) eller stödja XPS-dokumentmodellen (se Dokument i WPF).

Många av settermetoderna i FormattedText har likheter med bifogade egenskaper som stöds av TextElement, men de TextElement bifogade egenskaperna gäller för textstöd på högre nivå, antingen för flöde eller XPS.

Konstruktorer

Name Description
FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, Double)

Initierar en ny instans av FormattedText klassen med angiven text, kultur, flödesriktning, typsnitt, teckenstorlek, förgrundspenslar och pixelPerDip-värde.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, Double)

Initierar en ny instans av FormattedText klassen med angiven text, kultur, flödesriktning, typsnitt, teckenstorlek, förgrundspenslar, beteende för nummerersättning och pixelPerDip-värde.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode, Double)

Initierar en ny instans av FormattedText klassen med angiven text, kultur, flödesriktning, typsnitt, teckenstorlek, förgrundspenslar, beteende för nummerersättning och pixelPerDip-värde.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode)
Föråldrad.

Initierar en ny instans av FormattedText klassen med angiven text, kultur, flödesriktning, typsnitt, teckenstorlek, pensel, nummerersättningsbeteende och textformateringsläge.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution)
Föråldrad.

Initierar en ny instans av FormattedText klassen med angiven text, kultur, flödesriktning, typsnitt, teckenstorlek, pensel och nummerersättning.

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush)
Föråldrad.

Initierar en ny instans av FormattedText klassen med angiven text, kultur, flödesriktning, typsnitt, teckenstorlek och pensel.

Egenskaper

Name Description
Baseline

Hämtar avståndet från toppen av den första raden till baslinjen för den första raden i ett FormattedText objekt.

Extent

Hämtar avståndet från den översta ritade pixeln på den första raden till den nedersta ritade pixeln på den sista raden.

FlowDirection

Hämtar eller anger FlowDirection ett FormattedText objekts.

Height

Hämtar avståndet från toppen av den första raden längst ned på objektets FormattedText sista rad.

LineHeight

Hämtar radhöjden, eller radavståndet, mellan textrader.

MaxLineCount

Hämtar eller anger det maximala antalet rader som ska visas. Text som MaxLineCount överskrider visas inte.

MaxTextHeight

Hämtar eller anger den maximala höjden för en textkolumn.

MaxTextWidth

Hämtar eller anger maximal textbredd (längd) för en textrad.

MinWidth

Hämtar den minsta möjliga textbredden som helt kan innehålla det angivna textinnehållet.

OverhangAfter

Hämtar avståndet från nederkanten av den sista textraden till den nedersta ritade pixeln.

OverhangLeading

Hämtar det maximala avståndet från den inledande justeringspunkten till den inledande ritade pixeln på en linje.

OverhangTrailing

Hämtar det maximala avståndet från den avslutande färgade pixeln till den avslutande justeringspunkten för en linje.

PixelsPerDip

Hämta eller ställer in PixelsPerDip där texten ska återges.

Text

Hämtar den textsträng som ska visas.

TextAlignment

Hämtar eller anger justering av text i ett FormattedText objekt.

Trimming

Hämtar eller anger det sätt på vilket utelämnandet av text anges.

Width

Hämtar bredden mellan de inledande och avslutande justeringspunkterna för en linje, exklusive avslutande blankstegstecken.

WidthIncludingTrailingWhitespace

Hämtar bredden mellan de inledande och avslutande justeringspunkterna för en linje, inklusive eventuella avslutande blankstegstecken.

Metoder

Name Description
BuildGeometry(Point)

Returnerar ett Geometry objekt som representerar den formaterade texten, inklusive alla glyfer och textdekorationer.

BuildHighlightGeometry(Point, Int32, Int32)

Returnerar ett Geometry objekt som representerar markeringsmarkeringsmarkeringsrutan för en angiven delsträng av den formaterade texten.

BuildHighlightGeometry(Point)

Returnerar ett Geometry objekt som representerar avgränsningsrutan för den formaterade texten.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetMaxTextWidths()

Hämtar en matris med textbredder. Varje element i matrisen representerar den maximala textbredden för sekventiella textrader.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
SetCulture(CultureInfo, Int32, Int32)

CultureInfo Anger för en angiven delmängd av tecken i FormattedText objektet.

SetCulture(CultureInfo)

CultureInfo Anger för hela uppsättningen tecken i FormattedText objektet.

SetFontFamily(FontFamily, Int32, Int32)

Anger teckensnittsfamiljen för en angiven delmängd av tecken i FormattedText objektet.

SetFontFamily(FontFamily)

Anger teckensnittsfamiljen för ett FormattedText objekt.

SetFontFamily(String, Int32, Int32)

Anger teckensnittsfamiljen för en angiven delmängd av tecken i FormattedText objektet.

SetFontFamily(String)

Anger teckensnittsfamiljen för hela uppsättningen tecken i FormattedText objektet.

SetFontSize(Double, Int32, Int32)

Anger teckenstorleken för en angiven delmängd av tecken i FormattedText objektet.

SetFontSize(Double)

Anger teckenstorleken för hela uppsättningen tecken i FormattedText objektet.

SetFontStretch(FontStretch, Int32, Int32)

Anger teckensnittets stretchvärde för en angiven delmängd av tecken i FormattedText objektet.

SetFontStretch(FontStretch)

Anger teckensnittets stretchvärde för hela uppsättningen tecken i FormattedText objektet.

SetFontStyle(FontStyle, Int32, Int32)

Anger teckensnittsformatet för en angiven delmängd av tecken i FormattedText objektet.

SetFontStyle(FontStyle)

Anger teckensnittsformatet för hela uppsättningen tecken i FormattedText objektet.

SetFontTypeface(Typeface, Int32, Int32)

Anger teckensnittstypsnittet för en angiven delmängd av tecken i FormattedText objektet.

SetFontTypeface(Typeface)

Anger teckensnittstypsnittet för hela uppsättningen tecken i FormattedText objektet.

SetFontWeight(FontWeight, Int32, Int32)

Ändrar för angiven FontWeight text i ett FormattedText objekt.

SetFontWeight(FontWeight)

Anger teckenvikten för hela uppsättningen tecken i FormattedText objektet.

SetForegroundBrush(Brush, Int32, Int32)

Ändrar förgrunden Brush för angiven text i ett FormattedText objekt.

SetForegroundBrush(Brush)

Ändrar förgrunden Brush för ett helt FormattedText objekt.

SetMaxTextWidths(Double[])

Anger en matris med maximala textbredder i FormattedText, per rad. Varje element i matrisen representerar den maximala textbredden för sekventiella textrader.

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

Anger beteendet för talersättning för angiven text i ett FormattedText objekt.

SetNumberSubstitution(NumberSubstitution)

Anger beteendet för talersättning för hela uppsättningen tecken i FormattedText objektet.

SetTextDecorations(TextDecorationCollection, Int32, Int32)

Anger för angiven TextDecorationCollection text i ett FormattedText objekt.

SetTextDecorations(TextDecorationCollection)

TextDecorationCollection Anger för hela uppsättningen tecken i FormattedText objektet.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även