FormattedText Classe

Definizione

Specifica il controllo di basso livello per la creazione di testo nelle applicazioni Windows Presentation Foundation (WPF).

public ref class FormattedText
public class FormattedText
type FormattedText = class
Public Class FormattedText
Ereditarietà
FormattedText

Esempio

Nell'esempio seguente viene creato un FormattedText oggetto e quindi vengono applicati diversi stili di formattazione al testo.

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

Commenti

L'oggetto FormattedText consente di disegnare testo a più righe, in cui ogni carattere del testo può essere formattato singolarmente. L'esempio seguente mostra un testo a cui sono stati applicati diversi formati.

Testo visualizzato utilizzando l'oggetto FormattedText Visualizzato Esempio di stringa di testo formattata

In termini di funzionalità di testo in WPF, FormattedText è considerato "di basso livello" perché elabora il testo come elementi grafici. Altri aspetti del testo in WPF gestiscono il testo nel contesto dei controlli dedicati al testo (TextBlock, TextBox), implementano il modello di documento di flusso (vedere Cenni preliminari sui documenti di Flow) o supportano il modello di documento XPS (vedere Documenti in WPF).

Molti dei metodi setter in FormattedText hanno analogie con le proprietà associate supportate da TextElement, ma le TextElement proprietà associate si applicano al supporto di testo di livello superiore per flow o XPS.

Costruttori

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush)
Obsoleti.

Inizializza una nuova istanza della classe FormattedText con il testo, le impostazioni cultura, la direzione di flusso, il carattere tipografico, le dimensioni del carattere e il pennello specificati.

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

Inizializza una nuova istanza della classe FormattedText con il testo, le impostazioni cultura, la direzione di flusso, il carattere tipografico, la dimensione del carattere, il pennello in primo piano e il valore di pixel per DIP specificati.

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

Inizializza una nuova istanza della classe FormattedText con il testo, le impostazioni cultura, la direzione di flusso, il carattere tipografico, le dimensioni del carattere, il pennello e il comportamento di sostituzione numerica specificati.

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

Inizializza una nuova istanza della classe FormattedText con il testo, le impostazioni cultura, la direzione di flusso, il carattere tipografico, la dimensione del carattere, il pennello in primo piano, il comportamento della sostituzione dei numeri e il valore di pixel per DIP specificati.

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

Inizializza una nuova istanza della classe FormattedText con il testo, le impostazioni cultura, la direzione di flusso, il carattere tipografico, le dimensioni del carattere, il pennello, il comportamento di sostituzione numerica e la modalità di formattazione del testo specificati.

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

Inizializza una nuova istanza della classe FormattedText con il testo, le impostazioni cultura, la direzione di flusso, il carattere tipografico, la dimensione del carattere, il pennello in primo piano, il comportamento della sostituzione dei numeri e il valore di pixel per DIP specificati.

Proprietà

Baseline

Ottiene la distanza tra l'inizio della prima riga e la linea di base della prima riga di un oggetto FormattedText.

Extent

Ottiene la distanza tra il pixel iniziale della prima riga e quello finale dell'ultima riga.

FlowDirection

Ottiene o imposta l'enumerazione FlowDirection per un oggetto FormattedText.

Height

Ottiene la distanza tra l'inizio della prima riga e la fine dell'ultima riga dell'oggetto FormattedText.

LineHeight

Ottiene l'altezza di riga o interlinea tra le righe di testo.

MaxLineCount

Ottiene o imposta il numero massimo di righe da visualizzare. Il testo che supera il valore MaxLineCount non verrà visualizzato.

MaxTextHeight

Ottiene o imposta l'altezza massima di una colonna di testo.

MaxTextWidth

Ottiene o imposta la larghezza (lunghezza) di testo massima per una riga di testo.

MinWidth

Ottiene la larghezza di testo minima che può includere completamente il contenuto del testo specificato.

OverhangAfter

Ottiene la distanza tra la fine dell'ultima riga di testo e il pixel finale.

OverhangLeading

Ottiene la distanza massima tra il punto di allineamento iniziale e il pixel iniziale di una riga.

OverhangTrailing

Ottiene la distanza massima tra il pixel finale e il punto di allineamento finale di una riga.

PixelsPerDip

Ottiene o imposta il valore della proprietà PixelsPerDip in base al quale deve essere eseguito il rendering del testo.

Text

Ottiene la stringa di testo da visualizzare.

TextAlignment

Ottiene o imposta l'allineamento del testo all'interno di un oggetto FormattedText.

Trimming

Ottiene o imposta i mezzi attraverso i quali viene indicata l'omissione del testo.

Width

Ottiene la distanza tra il punto di allineamento iniziale e quello finale di una riga, esclusi tutti gli eventuali spazi vuoti finali.

WidthIncludingTrailingWhitespace

Ottiene la distanza tra il punto di allineamento iniziale e quello finale di una riga, inclusi tutti gli eventuali spazi vuoti finali.

Metodi

BuildGeometry(Point)

Restituisce un oggetto Geometry che rappresenta il testo formattato, inclusi tutti i glifi e le decorazioni di testo.

BuildHighlightGeometry(Point)

Restituisce un oggetto Geometry che rappresenta il riquadro delimitatore di evidenziazione del testo formattato.

BuildHighlightGeometry(Point, Int32, Int32)

Restituisce un oggetto Geometry che rappresenta il riquadro delimitatore di evidenziazione per una sottostringa specificata del testo formattato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetMaxTextWidths()

Recupera una matrice delle larghezze testo. Ogni elemento della matrice rappresenta la larghezza di testo massima delle righe di testo sequenziali.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SetCulture(CultureInfo)

Imposta l'oggetto CultureInfo per l'intero set di caratteri nell'oggetto FormattedText.

SetCulture(CultureInfo, Int32, Int32)

Imposta l'oggetto CultureInfo per un subset di caratteri specificato nell'oggetto FormattedText.

SetFontFamily(FontFamily)

Imposta la famiglia di caratteri per un oggetto FormattedText.

SetFontFamily(FontFamily, Int32, Int32)

Imposta la famiglia di caratteri per un subset di caratteri specificato nell'oggetto FormattedText.

SetFontFamily(String)

Imposta la famiglia di caratteri per l'intero set di caratteri nell'oggetto FormattedText.

SetFontFamily(String, Int32, Int32)

Imposta la famiglia di caratteri per un subset di caratteri specificato nell'oggetto FormattedText.

SetFontSize(Double)

Imposta le dimensioni del carattere per l'intero set di caratteri nell'oggetto FormattedText.

SetFontSize(Double, Int32, Int32)

Imposta le dimensioni del carattere per un subset di caratteri specificato nell'oggetto FormattedText.

SetFontStretch(FontStretch)

Imposta il valore relativo all'estensione del carattere per l'intero set di caratteri nell'oggetto FormattedText.

SetFontStretch(FontStretch, Int32, Int32)

Imposta il valore di estensione carattere per un subset specificato di caratteri nell'oggetto FormattedText.

SetFontStyle(FontStyle)

Imposta lo stile del carattere per l'intero set di caratteri nell'oggetto FormattedText.

SetFontStyle(FontStyle, Int32, Int32)

Imposta lo stile del carattere per un subset di caratteri specificato nell'oggetto FormattedText.

SetFontTypeface(Typeface)

Imposta il carattere tipografico del tipo di carattere per l'intero set di caratteri nell'oggetto FormattedText.

SetFontTypeface(Typeface, Int32, Int32)

Imposta il carattere tipografico del tipo di carattere per un subset di caratteri specificato nell'oggetto FormattedText.

SetFontWeight(FontWeight)

Imposta lo spessore del carattere per l'intero set di caratteri nell'oggetto FormattedText.

SetFontWeight(FontWeight, Int32, Int32)

Modifica l'oggetto FontWeight per il testo specificato all'interno di un oggetto FormattedText.

SetForegroundBrush(Brush)

Modifica l'oggetto Brush in primo piano per un intero oggetto FormattedText.

SetForegroundBrush(Brush, Int32, Int32)

Modifica l'oggetto Brush in primo piano per il testo specificato all'interno di un oggetto FormattedText.

SetMaxTextWidths(Double[])

Imposta una matrice di larghezze di testo massime all'interno dell'oggetto FormattedText sulla base di ogni singola riga. Ogni elemento della matrice rappresenta la larghezza di testo massima delle righe di testo sequenziali.

SetNumberSubstitution(NumberSubstitution)

Imposta il comportamento di sostituzione numerica per l'intero set di caratteri nell'oggetto FormattedText.

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

Imposta il comportamento di sostituzione numerica per il testo specificato all'interno di un oggetto FormattedText.

SetTextDecorations(TextDecorationCollection)

Imposta l'oggetto TextDecorationCollection per l'intero set di caratteri nell'oggetto FormattedText.

SetTextDecorations(TextDecorationCollection, Int32, Int32)

Imposta l'oggetto TextDecorationCollection per il testo specificato all'interno di un oggetto FormattedText.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche