Freigeben über


TextPointer.GetTextInRun Methode

Definition

Gibt Text neben dem aktuellen TextPointerzurück.

Überlädt

GetTextInRun(LogicalDirection)

Gibt eine Zeichenfolge zurück, die an den aktuellen TextPointer in der angegebenen logischen Richtung angrenzenden Text enthält.

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

Kopiert die angegebene maximale Anzahl von Zeichen aus einem angrenzenden Text in die angegebene Richtung in ein vom Aufrufer bereitgestelltes Zeichenarray.

GetTextInRun(LogicalDirection)

Gibt eine Zeichenfolge zurück, die an den aktuellen TextPointer in der angegebenen logischen Richtung angrenzenden Text enthält.

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

Parameter

direction
LogicalDirection

Einer der LogicalDirection Werte, die die logische Richtung angibt, in der benachbarten Text gefunden und zurückgegeben werden soll.

Gibt zurück

Eine Zeichenfolge mit angrenzendem Text in der angegebenen logischen Richtung oder Empty, wenn kein angrenzender Text gefunden werden kann.

Beispiele

Im folgenden Beispiel wird eine Verwendung für diese Methode veranschaulicht. Im Beispiel wird die GetTextInRun-Methode verwendet, um einen einfachen Textextraktionsmodul zu implementieren. Die Methode gibt eine Zeichenfolgenverkettung aller Text zwischen zwei angegebenen TextPointer Instanzen zurück.

Während das Beispiel verwendet werden kann, um Text zwischen zwei TextPointer Instanzen zu extrahieren, ist es nur für veranschauliche Zwecke vorgesehen und sollte nicht im Produktionscode verwendet werden. Verwenden Sie stattdessen die eigenschaft 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.

Hinweise

Diese Methode gibt nur unterbrechungsfreie Textläufe zurück. Es wird nichts zurückgegeben, wenn ein anderer Symboltyp als Text neben dem aktuellen TextPointer in der angegebenen Richtung liegt. Ebenso wird Text nur bis zum nächsten Nicht-Text-Symbol zurückgegeben.

Weitere Informationen

Gilt für:

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

Kopiert die angegebene maximale Anzahl von Zeichen aus einem angrenzenden Text in die angegebene Richtung in ein vom Aufrufer bereitgestelltes Zeichenarray.

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

Parameter

direction
LogicalDirection

Einer der LogicalDirection Werte, die die logische Richtung angibt, in der benachbarten Text gesucht und kopiert werden soll.

textBuffer
Char[]

Ein Puffer, in den text kopiert wird.

startIndex
Int32

Ein Index in textBuffer, bei dem mit dem Schreiben kopierter Text begonnen werden soll.

count
Int32

Die maximale Anzahl der zu kopierenden Zeichen.

Gibt zurück

Die Anzahl der Zeichen, die tatsächlich in textBufferkopiert wurden.

Ausnahmen

startIndex ist kleiner als 0 oder größer als die Length Eigenschaft von textBuffer.

-oder-

count ist kleiner als 0 oder größer als der verbleibende Platz in textBuffer (textBuffer.Length minus startIndex).

Hinweise

Diese Methode gibt nur unterbrechungsfreie Textläufe zurück. Es wird nichts zurückgegeben, wenn ein anderer Symboltyp als Text neben dem aktuellen TextPointer in der angegebenen Richtung liegt. Ebenso wird Text nur bis zum nächsten Nicht-Text-Symbol zurückgegeben.

Weitere Informationen

Gilt für: