FormattedText Classe

Definição

Fornece controle de baixo nível para desenhar texto em aplicativos WPF (Windows Presentation Foundation).

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

Exemplos

O exemplo a seguir cria um FormattedText objeto e 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

Comentários

O FormattedText objeto permite que você desenhe texto de várias linhas, no qual cada caractere no texto pode ser formatado individualmente. O exemplo a seguir mostra um texto ao qual forma aplicados diversos formatos.

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

Em termos de recursos de texto no WPF, FormattedText é considerado "de baixo nível" porque processa texto como elementos gráficos. Outros aspectos do texto no WPF manipulam o texto no contexto dos controles dedicados ao texto (TextBlock, TextBox), implementam o modelo de documento de fluxo (consulte Flow Visão geral do documento) ou dão suporte ao modelo de documento XPS (consulte Documentos no WPF).

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

Construtores

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

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

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

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

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

Inicializa uma nova instância da classe FormattedText com o texto, cultura, direção do fluxo, face de tipos, tamanho da fonte, pincel e comportamento de substituição de número especificados.

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

Inicializa uma nova instância da classe FormattedText com o texto, cultura, direção do fluxo, face de tipos, tamanho da fonte, pincel de primeiro plano, comportamento de substituição de número e valor pixelsPerDip especificados.

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

Inicializa uma nova instância da classe FormattedText com o texto, cultura, direção do fluxo, face de tipos, tamanho da fonte, pincel, comportamento de substituição do número e modo de formatação do texto especificados.

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

Inicializa uma nova instância da classe FormattedText com o texto, cultura, direção do fluxo, face de tipos, tamanho da fonte, pincel de primeiro plano, comportamento de substituição de número e valor pixelsPerDip especificados.

Propriedades

Baseline

Obtém a distância da parte superior da primeira linha até a linha de base da primeira linha de um objeto FormattedText.

Extent

Obtém a distância do pixel da extremidade superior desenhado da primeira linha até o pixel da extremidade inferior desenhado da última linha.

FlowDirection

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

Height

Obtém a distância da parte superior da primeira linha até a parte inferior da última linha do objeto FormattedText.

LineHeight

Obtém a altura da linha ou o espaçamento entre as linhas do texto.

MaxLineCount

Obtém ou define o número máximo de linhas a serem exibidas. O texto que excede 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 pode conter totalmente o conteúdo de texto especificado.

OverhangAfter

Obtém a distância da parte inferior da última linha do texto até o pixel da extremidade inferior desenhado.

OverhangLeading

Obtém a distância máxima do ponto de alinhamento à esquerda até o pixel desenhado à esquerda de uma linha.

OverhangTrailing

Obtém a distância máxima do pixel à tinta à direita até o ponto de alinhamento à direita de uma linha.

PixelsPerDip

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

Text

Obtém a cadeia de caracteres do texto a ser exibido.

TextAlignment

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

Trimming

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

Width

Obtém a largura entre os pontos de alinhamento à esquerda e à direita de uma linha, excluindo qualquer caractere de espaço em branco à direita.

WidthIncludingTrailingWhitespace

Obtém a largura entre os pontos de alinhamento à esquerda e à direita de uma linha, incluindo caracteres de espaço em branco à direita.

Métodos

BuildGeometry(Point)

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

BuildHighlightGeometry(Point)

Retorna um objeto Geometry que representa a caixa delimitadora de realce do texto formatado.

BuildHighlightGeometry(Point, Int32, Int32)

Retorna um objeto Geometry que representa a caixa delimitadora de realce para uma subcadeia de caracteres especificada do texto formatado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetMaxTextWidths()

Recupera uma matriz de larguras de texto. Cada elemento na matriz 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 Object atual.

(Herdado de Object)
SetCulture(CultureInfo)

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

SetCulture(CultureInfo, Int32, Int32)

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

SetFontFamily(FontFamily)

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

SetFontFamily(FontFamily, Int32, Int32)

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

SetFontFamily(String)

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

SetFontFamily(String, Int32, Int32)

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

SetFontSize(Double)

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

SetFontSize(Double, Int32, Int32)

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

SetFontStretch(FontStretch)

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

SetFontStretch(FontStretch, Int32, Int32)

Define o valor de ampliação da fonte para um subconjunto de caracteres especificado no objeto FormattedText.

SetFontStyle(FontStyle)

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

SetFontStyle(FontStyle, Int32, Int32)

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

SetFontTypeface(Typeface)

Define a face de tipos da fonte para todo o conjunto de caracteres no objeto FormattedText.

SetFontTypeface(Typeface, Int32, Int32)

Define a face de tipos da fonte para um subconjunto de caracteres especificado no objeto FormattedText.

SetFontWeight(FontWeight)

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

SetFontWeight(FontWeight, Int32, Int32)

Altera o FontWeight para o texto especificado dentro de um objeto FormattedText.

SetForegroundBrush(Brush)

Altera o Brush de primeiro plano para um objeto FormattedText inteiro.

SetForegroundBrush(Brush, Int32, Int32)

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

SetMaxTextWidths(Double[])

Define uma matriz de larguras máximas do texto dentro do FormattedText, em uma base por linha. Cada elemento na matriz representa a largura máxima do texto de linhas sequenciais de texto.

SetNumberSubstitution(NumberSubstitution)

Define o comportamento de substituição de número para todo o conjunto de caracteres no objeto FormattedText.

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

Define o comportamento de substituição de número para o texto especificado dentro de um objeto FormattedText.

SetTextDecorations(TextDecorationCollection)

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

SetTextDecorations(TextDecorationCollection, Int32, Int32)

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

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também