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 FormattedText objeto permite dibujar texto de varias líneas, en el que cada carácter del texto se puede formatear individualmente. En el ejemplo siguiente se muestra el texto que tiene varios formatos aplicados.

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

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

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

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

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

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

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

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

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

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

Inicializa una nueva instancia de la FormattedText clase con el texto, la referencia cultural, la dirección del 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)
Obsoletos.

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

Propiedades

Nombre Description
Baseline

Obtiene la distancia desde la parte superior de la primera línea hasta la línea base de la primera línea de un FormattedText objeto .

Extent

Obtiene la distancia desde el píxel dibujado más arriba de la primera línea hasta el píxel dibujado más abajo de la última línea.

FlowDirection

Obtiene o establece el FlowDirection objeto de un FormattedText objeto .

Height

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

LineHeight

Obtiene el alto de línea o el espaciado de líneas entre líneas de texto.

MaxLineCount

Obtiene o establece el número máximo de líneas que se van a mostrar. El texto que supera el MaxLineCount no se mostrará.

MaxTextHeight

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

MaxTextWidth

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

MinWidth

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

OverhangAfter

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

OverhangLeading

Obtiene la distancia máxima desde el punto de alineación inicial hasta el píxel dibujado inicial de una línea.

OverhangTrailing

Obtiene la distancia máxima desde el píxel de entrada manuscrita final hasta el punto de alineación final de una línea.

PixelsPerDip

Obtiene o establece el 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 del texto dentro de un FormattedText objeto .

Trimming

Obtiene o establece los medios por los que se indica la omisión del texto.

Width

Obtiene el ancho entre los puntos de alineación inicial y final de una línea, excepto los caracteres de espacio en blanco finales.

WidthIncludingTrailingWhitespace

Obtiene el ancho entre los puntos de alineación inicial y final de una línea, incluidos los caracteres de espacio en blanco finales.

Métodos

Nombre Description
BuildGeometry(Point)

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

BuildHighlightGeometry(Point, Int32, Int32)

Devuelve un Geometry objeto que representa el cuadro de límite de resaltado de una subcadena especificada del texto con formato.

BuildHighlightGeometry(Point)

Devuelve un Geometry objeto que representa el cuadro de límite de resaltado del texto con formato.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetMaxTextWidths()

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

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
SetCulture(CultureInfo, Int32, Int32)

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

SetCulture(CultureInfo)

Establece el CultureInfo para todo el conjunto de caracteres del FormattedText objeto .

SetFontFamily(FontFamily, Int32, Int32)

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

SetFontFamily(FontFamily)

Establece la familia de fuentes de un FormattedText objeto .

SetFontFamily(String, Int32, Int32)

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

SetFontFamily(String)

Establece la familia de fuentes para todo el conjunto de caracteres del FormattedText objeto .

SetFontSize(Double, Int32, Int32)

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

SetFontSize(Double)

Establece el tamaño de fuente para todo el conjunto de caracteres del FormattedText objeto .

SetFontStretch(FontStretch, Int32, Int32)

Establece el valor de extensión de fuente para un subconjunto especificado de caracteres en el FormattedText objeto .

SetFontStretch(FontStretch)

Establece el valor de extensión de fuente para todo el conjunto de caracteres del FormattedText objeto .

SetFontStyle(FontStyle, Int32, Int32)

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

SetFontStyle(FontStyle)

Establece el estilo de fuente para todo el conjunto de caracteres del FormattedText objeto .

SetFontTypeface(Typeface, Int32, Int32)

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

SetFontTypeface(Typeface)

Establece el tipo de letra de fuente para todo el conjunto de caracteres del FormattedText objeto .

SetFontWeight(FontWeight, Int32, Int32)

Cambia el para el FontWeight texto especificado dentro de un FormattedText objeto .

SetFontWeight(FontWeight)

Establece el peso de fuente para todo el conjunto de caracteres del FormattedText objeto .

SetForegroundBrush(Brush, Int32, Int32)

Cambia el primer plano Brush del texto especificado dentro de un FormattedText objeto .

SetForegroundBrush(Brush)

Cambia el primer plano Brush de un objeto completo FormattedText .

SetMaxTextWidths(Double[])

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

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

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

SetNumberSubstitution(NumberSubstitution)

Establece el comportamiento de sustitución de números para todo el conjunto de caracteres del FormattedText objeto .

SetTextDecorations(TextDecorationCollection, Int32, Int32)

Establece el para el TextDecorationCollection texto especificado dentro de un FormattedText objeto .

SetTextDecorations(TextDecorationCollection)

Establece el TextDecorationCollection para todo el conjunto de caracteres del FormattedText objeto .

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también