FormattedText Classe

Definição

Fornece controle de baixo nível para desenhar texto em aplicativos do 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 objeto FormattedText permite que você desenhe um texto de várias linhas, no qual cada caractere no 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 caracteres de texto formatada

Em termos de recursos de texto no WPF, FormattedText é considerado "de baixo nível" porque processa o texto como elementos gráficos. Outros aspectos do texto no WPF manipulam o texto no contexto de controles dedicados ao texto (TextBlock, TextBox), implementam o modelo de documento de fluxo (consulte a Visão geral do Documento de Fluxo) 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

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

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

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

Inicializa uma nova instância da FormattedText classe com o texto, cultura, direção de fluxo, typeface, 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, Double)

Inicializa uma nova instância da FormattedText classe com o texto, cultura, direção de fluxo, typeface, 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 FormattedText classe com o texto, cultura, direção de fluxo, typeface, tamanho da fonte, pincel, comportamento de substituição de número e modo de formatação de texto especificados.

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

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

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

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

Propriedades

Nome Description
Baseline

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

Extent

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

FlowDirection

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

Height

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

LineHeight

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

MaxLineCount

Obtém ou define o número máximo de linhas a serem exibidas. O texto que exceder 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) de 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 de texto até o pixel desenhado na parte inferior.

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

Obtenha ou define o PixelsPerDip no qual o texto deve ser renderizado.

Text

Obtém a cadeia de caracteres de texto a ser exibida.

TextAlignment

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

Trimming

Obtém ou define os meios pelos quais a omissão do texto é indicada.

Width

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

WidthIncludingTrailingWhitespace

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

Métodos

Nome Description
BuildGeometry(Point)

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

BuildHighlightGeometry(Point, Int32, Int32)

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

BuildHighlightGeometry(Point)

Retorna um Geometry objeto que representa a caixa delimitadora de realce 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 de 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 Objectatual.

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

Define o CultureInfo subconjunto de caracteres especificado no FormattedText objeto.

SetCulture(CultureInfo)

Define o CultureInfo conjunto inteiro de caracteres no FormattedText objeto.

SetFontFamily(FontFamily, Int32, Int32)

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

SetFontFamily(FontFamily)

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

SetFontFamily(String, Int32, Int32)

Define a família de fontes para um subconjunto especificado 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 de fonte para um subconjunto especificado de caracteres no FormattedText objeto.

SetFontStretch(FontStretch)

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

SetFontStyle(FontStyle, Int32, Int32)

Define o estilo da fonte para um subconjunto especificado 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 face de tipo de fonte para um subconjunto especificado de caracteres no FormattedText objeto.

SetFontTypeface(Typeface)

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

SetFontWeight(FontWeight, Int32, Int32)

Altera o FontWeight texto especificado em 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 do texto especificado em um FormattedText objeto.

SetForegroundBrush(Brush)

Altera o primeiro plano Brush de um objeto inteiro FormattedText .

SetMaxTextWidths(Double[])

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

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

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

SetNumberSubstitution(NumberSubstitution)

Define o comportamento de substituição de número 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 conjunto inteiro de caracteres no FormattedText objeto.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também