FormattedText Classe

Definição

Fornece controlo de baixo nível para desenhar texto em aplicações Windows Presentation Foundation (WPF).

public ref class FormattedText
public class FormattedText
type FormattedText = class
Public Class FormattedText
Herança
FormattedText

Exemplos

O exemplo seguinte cria um FormattedText objeto e depois aplica vários estilos de formatação ao 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

Observações

O objeto FormattedText permite desenhar texto com várias linhas, no qual cada caractere do texto pode ser formatado individualmente. O exemplo a seguir mostra o texto que tem vários formatos aplicados a ele.

Texto exibido usando o objeto FormattedText Exemplo de uma cadeia de texto formatada

Em termos de características de texto em WPF, FormattedText é considerado "de baixo nível" porque processa o texto como elementos gráficos. Outros aspetos do texto em WPF tratam o texto no contexto de controlos dedicados ao texto (TextBlock, TextBox), implementam o modelo de documento de fluxo (ver Resumo do Documento de Fluxo) ou suportam o modelo de documento XPS (ver Documentos em WPF).

Muitos dos métodos setter em FormattedText têm semelhanças com propriedades anexadas suportadas por TextElement, mas as TextElement propriedades anexadas aplicam-se ao suporte de texto de nível superior, seja para flow ou XPS.

Construtores

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

Inicializa uma nova instância da FormattedText classe com o texto especificado, cultura, direção do fluxo, tipografia, tamanho da fonte, pincel de primeiro plano e valor pixelsPerDip.

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

Inicializa uma nova instância da FormattedText classe com o texto especificado, cultura, direção do fluxo, tipografia, tamanho da fonte, pincel de primeiro plano, comportamento de substituição numérica e valor pixelsPerDip.

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

Inicializa uma nova instância da FormattedText classe com o texto especificado, cultura, direção do fluxo, tipografia, tamanho da fonte, pincel de primeiro plano, comportamento de substituição numérica e valor pixelsPerDip.

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

Inicializa uma nova instância da FormattedText classe com o texto especificado, cultura, direção do fluxo, tipografia, tamanho da fonte, pincel, comportamento de substituição numérica e modo de formatação de texto.

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

Inicializa uma nova instância da FormattedText classe com o texto especificado, cultura, direção de fluxo, tipografia, tamanho da fonte, pincel e comportamento de substituição numérica.

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

Inicializa uma nova instância da FormattedText classe com o texto especificado, cultura, direção do fluxo, tipografia, tamanho da fonte e pincel.

Propriedades

Name Description
Baseline

Obtém a distância desde o topo da primeira linha até à linha base da primeira linha de um FormattedText objeto.

Extent

Obtém a distância do pixel desenhado mais alto da primeira linha até ao pixel desenhado mais abaixo da última linha.

FlowDirection

Obtém ou define o FlowDirection de um FormattedText objeto.

Height

Obtém a distância do topo da primeira linha até ao fundo da última linha do FormattedText objeto.

LineHeight

Obtém a altura das linhas, ou espaçamento, entre linhas de texto.

MaxLineCount

Obtém ou define o número máximo de linhas a exibir. O texto que exceda o MaxLineCount não será exibido.

MaxTextHeight

Obtém ou define a altura máxima de uma coluna de texto.

MaxTextWidth

Obtém ou define a largura máxima do texto (comprimento) para uma linha de texto.

MinWidth

Obtém a menor largura de texto possível que consiga conter totalmente o conteúdo especificado.

OverhangAfter

Obtém a distância desde o fundo da última linha de texto até ao pixel desenhado mais baixo.

OverhangLeading

Obtém a distância máxima do ponto de alinhamento da frente ao pixel principal desenhado de uma linha.

OverhangTrailing

Obtém a distância máxima do pixel final de tinta até ao ponto de alinhamento final de uma linha.

PixelsPerDip

Obtém ou define o PixelsPerDip onde o texto deve ser renderizado.

Text

Faz com que a cadeia de texto seja exibida.

TextAlignment

Obtém ou define o alinhamento do texto dentro de um FormattedText objeto.

Trimming

Obtém ou define o meio pelo qual a omissão de texto é indicada.

Width

Obtém a largura entre os pontos de alinhamento dianteiro e final de uma linha, excluindo quaisquer caracteres de espaço em branco final.

WidthIncludingTrailingWhitespace

Obtém a largura entre os pontos de alinhamento inicial e final de uma linha, incluindo quaisquer caracteres de espaço em branco que terminem.

Métodos

Name Description
BuildGeometry(Point)

Devolve um Geometry objeto que representa o texto formatado, incluindo todos os glifos e decorações do texto.

BuildHighlightGeometry(Point, Int32, Int32)

Devolve um Geometry objeto que representa a caixa delimitadora de destaque para uma substring especificada do texto formatado.

BuildHighlightGeometry(Point)

Devolve um Geometry objeto que representa a caixa delimitadora de destaque do texto formatado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetMaxTextWidths()

Recupera uma variedade de larguras de texto. Cada elemento do array representa a largura máxima do texto de linhas sequenciais de texto.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

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

Define o CultureInfo para um subconjunto especificado de caracteres no FormattedText objeto.

SetCulture(CultureInfo)

Define o CultureInfo para todo o conjunto de caracteres no FormattedText objeto.

SetFontFamily(FontFamily, Int32, Int32)

Define a família de fontes para um subconjunto específico de caracteres no FormattedText objeto.

SetFontFamily(FontFamily)

Define a família de fontes de um FormattedText objeto.

SetFontFamily(String, Int32, Int32)

Define a família de fontes para um subconjunto específico de caracteres no FormattedText objeto.

SetFontFamily(String)

Define a família de fontes para todo o conjunto de caracteres no FormattedText objeto.

SetFontSize(Double, Int32, Int32)

Define o tamanho da fonte para um subconjunto especificado de caracteres no FormattedText objeto.

SetFontSize(Double)

Define o tamanho da fonte para todo o conjunto de caracteres no FormattedText objeto.

SetFontStretch(FontStretch, Int32, Int32)

Define o valor de alongamento da fonte para um subconjunto específico de caracteres no FormattedText objeto.

SetFontStretch(FontStretch)

Define o valor de extensão da fonte para todo o conjunto de caracteres no FormattedText objeto.

SetFontStyle(FontStyle, Int32, Int32)

Define o estilo de fonte para um subconjunto específico de caracteres no FormattedText objeto.

SetFontStyle(FontStyle)

Define o estilo de fonte para todo o conjunto de caracteres no FormattedText objeto.

SetFontTypeface(Typeface, Int32, Int32)

Define a fonte para um subconjunto específico de caracteres no FormattedText objeto.

SetFontTypeface(Typeface)

Define a fonte para todo o conjunto de caracteres do FormattedText objeto.

SetFontWeight(FontWeight, Int32, Int32)

Altera o FontWeight texto especificado dentro de um FormattedText objeto.

SetFontWeight(FontWeight)

Define o peso da fonte para todo o conjunto de caracteres no FormattedText objeto.

SetForegroundBrush(Brush, Int32, Int32)

Altera o primeiro plano Brush para texto especificado dentro de um FormattedText objeto.

SetForegroundBrush(Brush)

Altera o primeiro plano Brush de um objeto inteiro FormattedText .

SetMaxTextWidths(Double[])

Define um array de larguras máximas de texto dentro do FormattedText, numa base por linha. Cada elemento do array representa a largura máxima do texto de linhas sequenciais de texto.

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

Define o comportamento de substituição numérica para texto especificado dentro de um FormattedText objeto.

SetNumberSubstitution(NumberSubstitution)

Define o comportamento de substituição numérica para todo o conjunto de caracteres no FormattedText objeto.

SetTextDecorations(TextDecorationCollection, Int32, Int32)

Define o TextDecorationCollection texto para especificado dentro de um FormattedText objeto.

SetTextDecorations(TextDecorationCollection)

Define o TextDecorationCollection para todo o conjunto de caracteres no FormattedText objeto.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também