FormattedText Clase

Definición

Proporciona control de bajo nivel para dibujar texto en aplicaciones de Windows Presentation Foundation (WPF).

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

Ejemplos

En el ejemplo siguiente se crea un FormattedText objeto y, a continuación, se aplican varios estilos de formato al texto.

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

Comentarios

El objeto FormattedText permite dibujar texto de varias líneas, en el que se puede dar formato individual a cada carácter del texto. En el ejemplo siguiente se muestra texto al que se le aplicaron varios formatos.

Texto que se muestra mediante el objeto FormattedText Ejemplo de una cadena de texto con formato

En términos de características de texto en WPF, FormattedText se considera "de bajo nivel" porque procesa texto como elementos gráficos. Otros aspectos del texto de WPF controlan el texto en el contexto de los controles dedicados al texto (, TextBox), implementan el modelo de documentos de flujo (TextBlockvea Información general sobre documentos de flujo) o admiten el modelo de documentos XPS (vea Documentos en WPF).

Muchos de los métodos establecedores de FormattedText tienen similitudes con las propiedades adjuntas compatibles con TextElement, pero las TextElement propiedades adjuntas se aplican a la compatibilidad de texto de nivel superior para el flujo o XPS.

Constructores

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

Inicializa una nueva instancia de la clase FormattedText con el texto, la referencia cultural, la dirección de flujo, el tipo de letra, el tamaño de fuente y el pincel especificados.

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

Inicializa una nueva instancia de la clase FormattedText con el texto, la referencia cultural, la dirección de flujo, el tipo de letra, el tamaño de fuente, el pincel de primer plano y el valor de pixelsPerDip especificados.

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

Inicializa una nueva instancia de la clase FormattedText con el texto, la referencia cultural, la dirección de flujo, el tipo de letra, el tamaño de fuente, el pincel y el comportamiento de sustitución de números especificados.

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

Inicializa una nueva instancia de la clase FormattedText con el texto, la referencia cultural, la dirección de flujo, el tipo de letra, el tamaño de fuente, el pincel en segundo plano, el comportamiento de sustitución de números y el valor de pixelsPerDip especificados.

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

Inicializa una nueva instancia de la clase FormattedText con el texto, la referencia cultural, la dirección de flujo, el tipo de letra, el tamaño de fuente, el pincel y el comportamiento de sustitución de números y modo de formato de texto especificados.

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

Inicializa una nueva instancia de la clase FormattedText con el texto, la referencia cultural, la dirección de flujo, el tipo de letra, el tamaño de fuente, el pincel en segundo plano, el comportamiento de sustitución de números y el valor de pixelsPerDip especificados.

Propiedades

Baseline

Obtiene la distancia entre la parte superior de la primera línea y la línea base de la primera línea de un objeto FormattedText.

Extent

Obtiene la distancia entre el píxel dibujado en la parte superior de la primera línea y el píxel dibujado en la parte inferior de la última línea.

FlowDirection

Obtiene o establece el valor de FlowDirection de un objeto FormattedText.

Height

Obtiene la distancia entre la parte superior de la primera línea y la parte inferior de la última línea del objeto FormattedText.

LineHeight

Obtiene el alto de línea o interlineado de las líneas de texto.

MaxLineCount

Obtiene o establece el número máximo de líneas que se van a mostrar. No se mostrará el texto que supere el valor de MaxLineCount.

MaxTextHeight

Obtiene o establece el alto máximo de una columna de texto.

MaxTextWidth

Obtiene o establece el ancho de texto máximo (longitud) para una línea de texto.

MinWidth

Obtiene el ancho de texto más pequeño posible que puede contener íntegramente el contenido de texto especificado.

OverhangAfter

Obtiene la distancia entre la parte inferior de la última línea de texto y el píxel dibujado en la parte más abajo.

OverhangLeading

Obtiene la distancia máxima entre el punto de alineación principal y el primer píxel dibujado de una línea.

OverhangTrailing

Obtiene la distancia máxima entre el último píxel dibujado y el último punto de alineación de una línea.

PixelsPerDip

Obtenga o establezca el valor de PixelsPerDip en el que se debe representar el texto.

Text

Obtiene la cadena de texto que se va a mostrar.

TextAlignment

Obtiene o establece la alineación de texto en un objeto FormattedText.

Trimming

Obtiene o establece la forma en que se indica la omisión de texto.

Width

Obtiene el ancho entre los puntos de alineación inicial y final de una línea, sin incluir los caracteres de espacio a la derecha.

WidthIncludingTrailingWhitespace

Obtiene el ancho entre los puntos de alineación inicial y final de una línea, incluidos los caracteres de espacio a la derecha.

Métodos

BuildGeometry(Point)

Devuelve un objeto Geometry que representa el texto con formato, incluidos todos los glifos y decoraciones del texto.

BuildHighlightGeometry(Point)

Devuelve un objeto Geometry que representa el rectángulo de selección del resaltado del texto con formato.

BuildHighlightGeometry(Point, Int32, Int32)

Devuelve un objeto Geometry que representa el rectángulo de selección del resaltado de la subcadena especificada del texto con formato.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetMaxTextWidths()

Recupera una matriz de anchos de texto. Cada elemento de la matriz representa el ancho de texto máximo de las líneas secuenciales del texto.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SetCulture(CultureInfo)

Establece el valor de CultureInfo para el juego completo de caracteres en el objeto FormattedText.

SetCulture(CultureInfo, Int32, Int32)

Establece el valor de CultureInfo para un subconjunto especificado de los caracteres en el objeto FormattedText.

SetFontFamily(FontFamily)

Establece la familia de fuentes para un objeto FormattedText.

SetFontFamily(FontFamily, Int32, Int32)

Establece la familia de fuentes para un subconjunto especificado de los caracteres en el objeto FormattedText.

SetFontFamily(String)

Establece la familia de fuentes para el juego de caracteres completo en el objeto FormattedText.

SetFontFamily(String, Int32, Int32)

Establece la familia de fuentes para un subconjunto especificado de los caracteres en el objeto FormattedText.

SetFontSize(Double)

Establece el tamaño de fuente para el juego de caracteres completo en el objeto FormattedText.

SetFontSize(Double, Int32, Int32)

Establece el tamaño de fuente para un subconjunto especificado de los caracteres en el objeto FormattedText.

SetFontStretch(FontStretch)

Establece el valor de ensanchamiento de la fuente para el juego completo de caracteres en el objeto FormattedText.

SetFontStretch(FontStretch, Int32, Int32)

Establece el valor de ensanchamiento de la fuente para un subconjunto especificado de los caracteres en el objeto FormattedText.

SetFontStyle(FontStyle)

Establece el estilo de fuente para el juego de caracteres completo en el objeto FormattedText.

SetFontStyle(FontStyle, Int32, Int32)

Establece el estilo de fuente para un subconjunto especificado de los caracteres en el objeto FormattedText.

SetFontTypeface(Typeface)

Establece el tipo de letra de la fuente del juego de caracteres completo en el objeto FormattedText.

SetFontTypeface(Typeface, Int32, Int32)

Establece el tipo de letra de la fuente de un subconjunto especificado de los caracteres en el objeto FormattedText.

SetFontWeight(FontWeight)

Establece el espesor de fuente para el juego de caracteres completo en el objeto FormattedText.

SetFontWeight(FontWeight, Int32, Int32)

Cambia el valor de FontWeight para el texto especificado en un objeto FormattedText.

SetForegroundBrush(Brush)

Cambia el Brush de primer plano para un objeto FormattedText completo.

SetForegroundBrush(Brush, Int32, Int32)

Cambia el Brush de primer plano para el texto especificado en un objeto FormattedText.

SetMaxTextWidths(Double[])

Establece para cada línea una matriz de anchos de texto máximos dentro de FormattedText. Cada elemento de la matriz representa el ancho de texto máximo de las líneas secuenciales del texto.

SetNumberSubstitution(NumberSubstitution)

Establece el comportamiento de sustitución de números para todo el juego de caracteres en el objeto FormattedText.

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

Establece el comportamiento de sustitución de números para el texto especificado dentro de un objeto FormattedText.

SetTextDecorations(TextDecorationCollection)

Establece el valor de TextDecorationCollection para el juego completo de caracteres en el objeto FormattedText.

SetTextDecorations(TextDecorationCollection, Int32, Int32)

Establece el valor de TextDecorationCollection para el texto especificado en un objeto FormattedText.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también