TextRun Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет последовательность символов, совместно использующих один набор свойств.
public ref class TextRun abstract
public abstract class TextRun
type TextRun = class
Public MustInherit Class 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 | Определяет начало области изменения. |
Конструкторы
TextRun() |
Создает экземпляр объекта TextRun. |
Свойства
CharacterBufferReference |
Получает ссылку на буфер символов текстовой цепочки. |
Length |
Получает число символов в текстовой цепочке. |
Properties |
Получает или задает свойства текста, не являющиеся общими для всех символов текстовой цепочки, такие как шрифт или кисть переднего плана. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |