Compartilhar via


TextRun Classe

Definição

Representa uma sequência de caracteres que compartilham um único conjunto de propriedades.

public ref class TextRun abstract
public abstract class TextRun
type TextRun = class
Public MustInherit Class TextRun
Herança
TextRun
Derivado

Exemplos

No exemplo a seguir, uma substituição para o GetTextRun método é implementada.

// Retrieve the next formatted text run for the text source.
public override TextRun GetTextRun(int textSourceCharacterIndex)
{
    // Determine whether the text source index is in bounds.
    if (textSourceCharacterIndex < 0)
    {
        throw new ArgumentOutOfRangeException("textSourceCharacterIndex", "Value must be greater than 0.");
    }

    // Determine whether the text source index has exceeded or equaled the text source length.
    if (textSourceCharacterIndex >= _text.Length)
    {
        // Return an end-of-paragraph indicator -- a TextEndOfParagraph object is a special type of text run.
        return new TextEndOfParagraph(1);
    }

    // Create and return a TextCharacters object, which is formatted according to
    // the current layout and rendering properties.
    if (textSourceCharacterIndex < _text.Length)
    {
        // The TextCharacters object is a special type of text run that contains formatted text.
        return new TextCharacters(
           _text,                                       // The text store
           textSourceCharacterIndex,                    // The text store index
           _text.Length - textSourceCharacterIndex,     // The text store length
           new CustomTextRunProperties());              // The layout and rendering properties
    }

    // Return an end-of-paragraph indicator if there is no more text source.
    return new TextEndOfParagraph(1);
}
' Retrieve the next formatted text run for the text source.
Public Overrides Function GetTextRun(ByVal textSourceCharacterIndex As Integer) As TextRun
    ' Determine whether the text source index is in bounds.
    If textSourceCharacterIndex < 0 Then
        Throw New ArgumentOutOfRangeException("textSourceCharacterIndex", "Value must be greater than 0.")
    End If

    ' Determine whether the text source index has exceeded or equaled the text source length.
    If textSourceCharacterIndex >= _text.Length Then
        ' Return an end-of-paragraph indicator -- a TextEndOfParagraph object is a special type of text run.
        Return New TextEndOfParagraph(1)
    End If

    ' Create and return a TextCharacters object, which is formatted according to
    ' the current layout and rendering properties.
    If textSourceCharacterIndex < _text.Length Then
        ' The TextCharacters object is a special type of text run that contains formatted text.
        Return New TextCharacters(_text, textSourceCharacterIndex, _text.Length - textSourceCharacterIndex, New CustomTextRunProperties()) ' The layout and rendering properties -  The text store length -  The text store index -  The text store
    End If

    ' Return an end-of-paragraph indicator if there is no more text source.
    Return New TextEndOfParagraph(1)
End Function

Comentários

Uma execução de texto é uma sequência de caracteres compartilhando um único conjunto de propriedades. Qualquer alteração no formato, como estilo de fonte, cor do primeiro plano, família de fontes ou qualquer outro efeito de formatação, interrompe a execução do texto. O exemplo a seguir ilustra como as alterações na formatação para uma cadeia de texto resultam em uma série de execuções de texto – cada execução de texto tem um conjunto comum de propriedades de formatação.

A TextRun classe é a raiz de uma hierarquia de tipos que representa vários tipos de conteúdo de texto processados por TextFormatter. Cada classe derivada representa TextRun um tipo distinto de conteúdo de texto.

Class Descrição
TextRun Raiz da hierarquia. Define um grupo de caracteres que compartilham o mesmo conjunto de propriedades de caracteres.
TextCharacters Define uma coleção de glifos de caractere de um tipo físico distinto.
TextEmbeddedObject Define um tipo de conteúdo de texto no qual a medição, o teste de clique e o desenho de todo o conteúdo são feitos como uma entidade distinta. Um exemplo desse tipo de conteúdo é um botão no meio da linha de texto.
TextEndOfLine Define um código de caractere de quebra de linha.
TextEndOfParagraph Define um código de caractere de quebra de parágrafo. Deriva de TextEndOfLine.
TextEndOfSegment Define um marcador de quebra de segmento.
TextHidden Define um intervalo de caracteres não visíveis.
TextModifier Define o início de um escopo de modificação.

Construtores

TextRun()

Cria uma instância de um objeto TextRun.

Propriedades

CharacterBufferReference

Obtém uma referência para a sequência de buffer de caracteres de texto.

Length

Obtém o número de caracteres na sequência de texto.

Properties

Obtém o conjunto de propriedades de texto que são compartilhadas por todos os caracteres no texto, como o pincel de primeiro plano ou de face de tipos.

Métodos

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)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também