TextSource.GetTextRun(Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Recupera um TextRun iniciando em determinado TextSource posição.
public:
abstract System::Windows::Media::TextFormatting::TextRun ^ GetTextRun(int textSourceCharacterIndex);
public abstract System.Windows.Media.TextFormatting.TextRun GetTextRun (int textSourceCharacterIndex);
abstract member GetTextRun : int -> System.Windows.Media.TextFormatting.TextRun
Public MustOverride Function GetTextRun (textSourceCharacterIndex As Integer) As TextRun
Parâmetros
- textSourceCharacterIndex
- Int32
Especifica a posição de índice do caractere no TextSource em que o TextRun é recuperado.
Retornos
Um valor que representa um TextRun ou um objeto derivado de TextRun.
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 família de fontes, estilo de fonte, cor do primeiro plano, decoração de texto ou qualquer outro efeito de formatação, interrompe a execução do texto. 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. |