TextPointer.GetTextInRun メソッド

定義

現在の TextPointer に隣接するテキストを返します。Returns text adjacent to the current TextPointer.

オーバーロード

GetTextInRun(LogicalDirection)

指定された論理方向で現在の TextPointer に隣接するテキストを格納する文字列を返します。Returns a string containing any text adjacent to the current TextPointer in the specified logical direction.

GetTextInRun(LogicalDirection, Char[], Int32, Int32)

指定された方向の隣接するテキストから、指定された最大数の文字を、呼び出し元が用意した文字配列にコピーします。Copies the specified maximum number of characters from any adjacent text in the specified direction into a caller-supplied character array.

GetTextInRun(LogicalDirection)

指定された論理方向で現在の TextPointer に隣接するテキストを格納する文字列を返します。Returns a string containing any text adjacent to the current TextPointer in the specified logical direction.

public:
 System::String ^ GetTextInRun(System::Windows::Documents::LogicalDirection direction);
public string GetTextInRun (System.Windows.Documents.LogicalDirection direction);
member this.GetTextInRun : System.Windows.Documents.LogicalDirection -> string
Public Function GetTextInRun (direction As LogicalDirection) As String

パラメーター

direction
LogicalDirection

隣接するテキストを検索して返す論理方向を指定する LogicalDirection 値のいずれか。One of the LogicalDirection values that specifies the logical direction in which to find and return any adjacent text.

戻り値

指定された論理方向の隣接するテキストを格納する文字列。隣接するテキストが見つからない場合は EmptyA string containing any adjacent text in the specified logical direction, or Empty if no adjacent text can be found.

実装

System.Windows.Documents.ITextPointer.GetTextInRun(System.Windows.Documents.LogicalDirection)

このメソッドの使用例を次に示します。The following example demonstrates a use for this method. この例ではGetTextInRun 、メソッドを使用して、単純なテキスト抽出を実装します。The example uses the GetTextInRun method to implement a simple text extractor. メソッドは、指定されたTextPointer 2 つのインスタンス間のすべてのテキストを連結した文字列を返します。The method returns a string concatenation of all text between two specified TextPointer instances.

この例は、2つTextPointerのインスタンス間でテキストを抽出するために使用できますが、説明的な目的だけを目的としています。運用環境のコードでは使用しないでください。While the example can be used to extract any text between two TextPointer instances, it is intended for illustrative purposes only, and should not be used in production code. 代わりに、TextRange.Text プロパティを使用してください。Use the TextRange.Text property instead.

// Returns a string containing the text content between two specified TextPointers.
string GetTextBetweenTextPointers(TextPointer start, TextPointer end)
{
    StringBuilder buffer = new StringBuilder();
 
    while (start != null && start.CompareTo(end) < 0)
    {
        if (start.GetPointerContext(LogicalDirection.Forward) == TextPointerContext.Text)
            buffer.Append(start.GetTextInRun(LogicalDirection.Forward));
 
        // Note that when the TextPointer points into a text run, this skips over the entire
        // run, not just the current character in the run.
        start = start.GetNextContextPosition(LogicalDirection.Forward);
    }
    return buffer.ToString();

} // End GetTextBetweenPointers.
' Returns a string containing the text content between two specified TextPointers.
Private Function GetTextBetweenTextPointers(ByVal start As TextPointer, ByVal [end] As TextPointer) As String
    Dim buffer As New StringBuilder()

    Do While start IsNot Nothing AndAlso start.CompareTo([end]) < 0
        If start.GetPointerContext(LogicalDirection.Forward) = TextPointerContext.Text Then
            buffer.Append(start.GetTextInRun(LogicalDirection.Forward))
        End If

        ' Note that when the TextPointer points into a text run, this skips over the entire
        ' run, not just the current character in the run.
        start = start.GetNextContextPosition(LogicalDirection.Forward)
    Loop
    Return buffer.ToString()

End Function ' End GetTextBetweenPointers.

注釈

このメソッドは、中断されていないテキストの実行のみを返します。This method returns only uninterrupted runs of text. 以外Textのシンボル型が、指定された方向で現在TextPointerのに隣接している場合は、何も返されません。Nothing is returned if any symbol type other than Text is adjacent to the current TextPointer in the specified direction. 同様に、テキストは、次のテキスト以外のシンボルに対してのみ返されます。Similarly, text is returned only up to the next non-text symbol.

こちらもご覧ください

GetTextInRun(LogicalDirection, Char[], Int32, Int32)

指定された方向の隣接するテキストから、指定された最大数の文字を、呼び出し元が用意した文字配列にコピーします。Copies the specified maximum number of characters from any adjacent text in the specified direction into a caller-supplied character array.

public:
 int GetTextInRun(System::Windows::Documents::LogicalDirection direction, cli::array <char> ^ textBuffer, int startIndex, int count);
public int GetTextInRun (System.Windows.Documents.LogicalDirection direction, char[] textBuffer, int startIndex, int count);
member this.GetTextInRun : System.Windows.Documents.LogicalDirection * char[] * int * int -> int
Public Function GetTextInRun (direction As LogicalDirection, textBuffer As Char(), startIndex As Integer, count As Integer) As Integer

パラメーター

direction
LogicalDirection

隣接するテキストを検索してコピーする論理方向を指定する LogicalDirection 値のいずれか。One of the LogicalDirection values that specifies the logical direction in which to find and copy any adjacent text.

textBuffer
Char[]

テキストのコピー先のバッファー。A buffer into which any text is copied.

startIndex
Int32

コピーしたテキストの書き込みを開始する textBuffer のインデックス。An index into textBuffer at which to begin writing copied text.

count
Int32

コピーする文字の最大数。The maximum number of characters to copy.

戻り値

実際に textBuffer にコピーされた文字数。The number of characters actually copied into textBuffer.

実装

System.Windows.Documents.ITextPointer.GetTextInRun(System.Windows.Documents.LogicalDirection,System.Char[],System.Int32,System.Int32)

例外

startIndex が 0 より小さいか、textBufferLength プロパティより大きい。startIndex is less than 0 or greater than the Length property of textBuffer.

- または --or- count が 0 より小さいか、textBuffer (textBuffer.Length -count is less than 0 or greater than the remaining space in textBuffer (textBuffer.Length startIndex) の残りの領域より大きい。minus startIndex).

注釈

このメソッドは、中断されていないテキストの実行のみを返します。This method returns only uninterrupted runs of text. 以外Textのシンボル型が、指定された方向で現在TextPointerのに隣接している場合は、何も返されません。Nothing is returned if any symbol type other than Text is adjacent to the current TextPointer in the specified direction. 同様に、テキストは、次のテキスト以外のシンボルに対してのみ返されます。Similarly, text is returned only up to the next non-text symbol.

こちらもご覧ください

適用対象