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.

Возвраты

Строка, содержащая любой примыкающий текст в указанном логическом направлении, или Empty, если не найдено примыкающего текста.A 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 экземплярами.The method returns a string concatenation of all text between two specified TextPointer instances.

Хотя пример можно использовать для извлечения любого текста между двумя 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 или больше Length свойства textBuffer.startIndex is less than 0 or greater than the Length property of textBuffer.

- или --or- count меньше 0 или больше оставшегося пространства в textBuffer (textBuffer.Lengthcount 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.

Дополнительно

Применяется к