TextSource.GetTextRun(Int32) Метод

Определение

Извлекает текстовую цепочку TextRun, начинающуюся с указанной позиции в объекте TextSource.

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

Параметры

textSourceCharacterIndex
Int32

Указывает позицию текстового знака в объекте TextSource, откуда извлекается текстовая цепочка TextRun.

Возвращаемое значение

TextRun

Значение, представляющее текстовую цепочку TextRun, или объект класса, производного от TextRun.

Примеры

В следующем примере реализуется переопределение GetTextRun метода.

// 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

Комментарии

Текстовый запуск — это последовательность символов, совместно использующих один набор свойств. Любое изменение формата, например семейство шрифтов, стиль шрифта, цвет переднего плана, оформление текста или любой другой эффект форматирования, прерывает выполнение текста. Класс TextRun является корнем иерархии типов, представляющей несколько типов текстового содержимого, обрабатываемого TextFormatter. Каждый класс, производный от TextRun него, представляет отдельный тип текстового содержимого.

Class Описание
TextRun Корень иерархии. Определяет группу символов, которые используют один набор свойств символов.
TextCharacters Определяет коллекцию глифов символов из отдельного физического шрифта.
TextEmbeddedObject Определяет тип текстового содержимого, в котором измерение, тестирование попаданий и рисование всего содержимого выполняется как отдельная сущность. Примером такого типа содержимого является кнопка в середине строки текста.
TextEndOfLine Определяет код символа разрыва строки.
TextEndOfParagraph Определяет код символа разрыва абзаца. Происходит от TextEndOfLine.
TextEndOfSegment Определяет маркер разрыва сегмента.
TextHidden Определяет диапазон невидимых символов.
TextModifier Определяет начало области изменения.

Применяется к