TextSource.GetTextRun(Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
擷取從指定 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 衍生的物件。
範例
在下列範例中,會實作 方法的 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 | 定義修改範圍的開頭。 |