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 的每个类都表示非重复类型的文本内容。

实例 说明
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)

适用于

另请参阅