TextPointer.GetTextInRun Método

Definición

Devuelve el texto adyacente al TextPointer actual.Returns text adjacent to the current TextPointer.

Sobrecargas

GetTextInRun(LogicalDirection)

Devuelve una cadena que contiene cualquier texto adyacente al TextPointer actual en la dirección lógica especificada.Returns a string containing any text adjacent to the current TextPointer in the specified logical direction.

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

Copia el número de caracteres máximo especificado desde cualquier texto adyacente en la dirección especificada en una matriz de caracteres proporcionada por un llamador.Copies the specified maximum number of characters from any adjacent text in the specified direction into a caller-supplied character array.

GetTextInRun(LogicalDirection)

Devuelve una cadena que contiene cualquier texto adyacente al TextPointer actual en la dirección lógica especificada.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

Parámetros

direction
LogicalDirection

Uno de los valores de LogicalDirection que especifica la dirección lógica en la que buscar y devolver cualquier texto adyacente.One of the LogicalDirection values that specifies the logical direction in which to find and return any adjacent text.

Devoluciones

String

Una cadena que contiene cualquier texto adyacente en la dirección lógica especificada o Empty si no se puede buscar ningún texto adyacente.A string containing any adjacent text in the specified logical direction, or Empty if no adjacent text can be found.

Ejemplos

En el ejemplo siguiente se muestra un uso para este método.The following example demonstrates a use for this method. En el ejemplo se utiliza el GetTextInRun método para implementar un extractor de texto simple.The example uses the GetTextInRun method to implement a simple text extractor. El método devuelve una concatenación de cadenas de todo el texto entre dos instancias especificadas TextPointer .The method returns a string concatenation of all text between two specified TextPointer instances.

Aunque el ejemplo se puede usar para extraer cualquier texto entre dos TextPointer instancias, está pensado únicamente para fines ilustrativos y no debe usarse en el código de producción.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. Utilice la propiedad TextRange.Text en su lugar.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.

Comentarios

Este método devuelve solo ejecuciones de texto ininterrumpidas.This method returns only uninterrupted runs of text. No se devuelve nada si algún tipo de símbolo que no sea Text adyacente al actual TextPointer en la dirección especificada.Nothing is returned if any symbol type other than Text is adjacent to the current TextPointer in the specified direction. Del mismo modo, el texto se devuelve solo hasta el siguiente símbolo que no sea de texto.Similarly, text is returned only up to the next non-text symbol.

Consulte también

Se aplica a

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

Copia el número de caracteres máximo especificado desde cualquier texto adyacente en la dirección especificada en una matriz de caracteres proporcionada por un llamador.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

Parámetros

direction
LogicalDirection

Uno de los valores de LogicalDirection que especifica la dirección lógica en la que buscar y copiar cualquier texto adyacente.One of the LogicalDirection values that specifies the logical direction in which to find and copy any adjacent text.

textBuffer
Char[]

Un búfer en el que se copia texto.A buffer into which any text is copied.

startIndex
Int32

Un índice en textBuffer en el que se comienza a escribir texto copiado.An index into textBuffer at which to begin writing copied text.

count
Int32

Número máximo de caracteres que se pueden copiar.The maximum number of characters to copy.

Devoluciones

Int32

Número de caracteres copiados realmente en textBuffer.The number of characters actually copied into textBuffer.

Excepciones

startIndex es menor que 0 o mayor que la propiedad Length de textBuffer.startIndex is less than 0 or greater than the Length property of textBuffer.

o bien-or- count es menor que 0 o mayor que el espacio restante en textBuffer (textBuffer.Lengthcount is less than 0 or greater than the remaining space in textBuffer (textBuffer.Length menus startIndex).minus startIndex).

Comentarios

Este método devuelve solo ejecuciones de texto ininterrumpidas.This method returns only uninterrupted runs of text. No se devuelve nada si algún tipo de símbolo que no sea Text adyacente al actual TextPointer en la dirección especificada.Nothing is returned if any symbol type other than Text is adjacent to the current TextPointer in the specified direction. Del mismo modo, el texto se devuelve solo hasta el siguiente símbolo que no sea de texto.Similarly, text is returned only up to the next non-text symbol.

Consulte también

Se aplica a