다음을 통해 공유


TextPointer.GetTextInRun 메서드

정의

현재 TextPointer인접한 텍스트를 반환합니다.

오버로드

GetTextInRun(LogicalDirection)

지정된 논리적 방향으로 현재 TextPointer 인접한 텍스트가 포함된 문자열을 반환합니다.

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

지정된 방향의 인접한 텍스트에서 지정된 최대 문자 수를 호출자가 제공한 문자 배열로 복사합니다.

GetTextInRun(LogicalDirection)

지정된 논리적 방향으로 현재 TextPointer 인접한 텍스트가 포함된 문자열을 반환합니다.

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 값 중 하나입니다.

반환

지정된 논리 방향으로 인접한 텍스트가 들어 있는 문자열이거나 인접한 텍스트를 찾을 수 없는 경우 Empty.

예제

다음 예제에서는이 메서드에 대 한 사용을 보여 줍니다. 이 예제에서는 GetTextInRun 메서드를 사용하여 간단한 텍스트 추출기를 구현합니다. 이 메서드는 지정된 두 TextPointer 인스턴스 간에 모든 텍스트의 문자열 연결을 반환합니다.

이 예제는 두 TextPointer 인스턴스 간에 텍스트를 추출하는 데 사용할 수 있지만 설명용으로만 사용되며 프로덕션 코드에서 사용하면 안 됩니다. 대신 TextRange.Text 속성을 사용합니다.

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

설명

이 메서드는 중단 없는 텍스트 실행만 반환합니다. Text 이외의 기호 형식이 지정된 방향으로 현재 TextPointer 인접한 경우에는 아무 것도 반환되지 않습니다. 마찬가지로 텍스트는 텍스트가 아닌 다음 기호까지만 반환됩니다.

추가 정보

적용 대상

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

지정된 방향의 인접한 텍스트에서 지정된 최대 문자 수를 호출자가 제공한 문자 배열로 복사합니다.

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 값 중 하나입니다.

textBuffer
Char[]

텍스트가 복사되는 버퍼입니다.

startIndex
Int32

복사한 텍스트 쓰기를 시작할 textBuffer 인덱스입니다.

count
Int32

복사할 최대 문자 수입니다.

반환

실제로 textBuffer복사된 문자 수입니다.

예외

startIndex 0보다 작거나 textBufferLength 속성보다 큽합니다.

-또는-

count 0보다 작거나 textBuffer 나머지 공간보다 큽니다(textBuffer.Length 빼기 startIndex).

설명

이 메서드는 중단 없는 텍스트 실행만 반환합니다. Text 이외의 기호 형식이 지정된 방향으로 현재 TextPointer 인접한 경우에는 아무 것도 반환되지 않습니다. 마찬가지로 텍스트는 텍스트가 아닌 다음 기호까지만 반환됩니다.

추가 정보

적용 대상