TextPointer.GetTextInRun Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den Text zurück, der sich neben dem aktuellen TextPointer befindet.
Überlädt
GetTextInRun(LogicalDirection) |
Gibt eine Zeichenfolge zurück, die Text enthält, der sich in der angegebenen logischen Richtung neben dem aktuellen TextPointer befindet. |
GetTextInRun(LogicalDirection, Char[], Int32, Int32) |
Kopiert die angegebene maximale Anzahl von Zeichen aus benachbartem Text in der angegebenen Richtung in ein vom Aufrufer bereitgestelltes Zeichenarray. |
GetTextInRun(LogicalDirection)
Gibt eine Zeichenfolge zurück, die Text enthält, der sich in der angegebenen logischen Richtung neben dem aktuellen TextPointer befindet.
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, mit denen die logische Richtung angegeben wird, in der benachbarter Text gesucht und zurückgegeben werden soll.
Gibt zurück
Eine Zeichenfolge, die beliebigen benachbarten Text in der angegebenen logischen Richtung enthält, oder Empty, wenn kein benachbarter 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 Textextraktor zu implementieren. Die -Methode gibt eine Zeichenfolgenverkettung des gesamten Texts zwischen zwei angegebenen TextPointer Instanzen zurück.
Das Beispiel kann zwar zum Extrahieren von Text zwischen zwei TextPointer Instanzen verwendet werden, dient jedoch nur zur Veranschaulichung und sollte nicht im Produktionscode verwendet werden. Verwenden Sie stattdessen die TextRange.Text-Eigenschaft.
// 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 ununterbrochene Textausführungen zurück. Es wird nichts zurückgegeben, wenn ein anderer Symboltyp als Text in der angegebenen Richtung neben dem aktuellen TextPointer steht. 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 benachbartem Text in der angegebenen 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, mit denen die logische Richtung angegeben wird, in der benachbarter Text gesucht und kopiert werden soll.
- textBuffer
- Char[]
Ein Puffer, in den beliebiger Text kopiert wird.
- startIndex
- Int32
Ein Index im textBuffer
, ab dem mit dem Schreiben von kopiertem Text begonnen wird.
- count
- Int32
Die maximale Anzahl der zu kopierenden Zeichen.
Gibt zurück
Die Anzahl der tatsächlich in den textBuffer
kopierten Zeichen.
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 ununterbrochene Textausführungen zurück. Es wird nichts zurückgegeben, wenn ein anderer Symboltyp als Text in der angegebenen Richtung neben dem aktuellen TextPointer steht. Ebenso wird Text nur bis zum nächsten Nicht-Text-Symbol zurückgegeben.