TextPointer.GetTextInRun Metodo

Definizione

Restituisce il testo adiacente all'oggetto TextPointer corrente.Returns text adjacent to the current TextPointer.

Overload

GetTextInRun(LogicalDirection)

Restituisce una stringa contenente il testo adiacente all'oggetto TextPointer corrente nella direzione logica specificata.Returns a string containing any text adjacent to the current TextPointer in the specified logical direction.

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

Copia il numero di caratteri massimo specificato da un testo adiacente nella direzione specificata in una matrice di caratteri fornita dal chiamante.Copies the specified maximum number of characters from any adjacent text in the specified direction into a caller-supplied character array.

GetTextInRun(LogicalDirection)

Restituisce una stringa contenente il testo adiacente all'oggetto TextPointer corrente nella direzione logica specificata.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

Parametri

direction
LogicalDirection

Uno dei valori LogicalDirection che specifica la direzione logica nella quale cercare e restituire il testo adiacente.One of the LogicalDirection values that specifies the logical direction in which to find and return any adjacent text.

Restituisce

Stringa contenente il testo adiacente nella direzione logica specificata, oppure Empty se risulta impossibile trovare un testo adiacente.A string containing any adjacent text in the specified logical direction, or Empty if no adjacent text can be found.

Implementazioni

System.Windows.Documents.ITextPointer.GetTextInRun(System.Windows.Documents.LogicalDirection)

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di questo metodo.The following example demonstrates a use for this method. Nell'esempio viene usato GetTextInRun il metodo per implementare un estrattore di testo semplice.The example uses the GetTextInRun method to implement a simple text extractor. Il metodo restituisce una concatenazione di stringhe di tutto il testo TextPointer tra due istanze specificate.The method returns a string concatenation of all text between two specified TextPointer instances.

Sebbene l'esempio possa essere utilizzato per estrarre testo tra due TextPointer istanze, è destinato esclusivamente a scopi illustrativi e non deve essere utilizzato nel codice di produzione.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. In alternativa, usare la proprietà 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.

Commenti

Questo metodo restituisce solo le esecuzioni ininterrotte del testo.This method returns only uninterrupted runs of text. Non viene restituito nulla se un tipo di simbolo Text diverso da è adiacente all' TextPointer oggetto corrente nella direzione specificata.Nothing is returned if any symbol type other than Text is adjacent to the current TextPointer in the specified direction. Analogamente, il testo viene restituito solo fino al simbolo non di testo successivo.Similarly, text is returned only up to the next non-text symbol.

Vedi anche

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

Copia il numero di caratteri massimo specificato da un testo adiacente nella direzione specificata in una matrice di caratteri fornita dal chiamante.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

Parametri

direction
LogicalDirection

Uno dei valori LogicalDirection che specifica la direzione logica nella quale cercare e copiare il testo adiacente.One of the LogicalDirection values that specifies the logical direction in which to find and copy any adjacent text.

textBuffer
Char[]

Buffer nel quale viene copiato il testo.A buffer into which any text is copied.

startIndex
Int32

Indice in textBuffer nel quale iniziare a scrivere il testo copiato.An index into textBuffer at which to begin writing copied text.

count
Int32

Numero massimo di caratteri da copiare.The maximum number of characters to copy.

Restituisce

Numero di caratteri realmente copiati in textBuffer.The number of characters actually copied into textBuffer.

Implementazioni

System.Windows.Documents.ITextPointer.GetTextInRun(System.Windows.Documents.LogicalDirection,System.Char[],System.Int32,System.Int32)

Eccezioni

startIndex è inferiore a 0 o superiore alla proprietà Length di textBuffer.startIndex is less than 0 or greater than the Length property of textBuffer.

In alternativa-or- count è minore di 0 o maggiore dello spazio rimanente in textBuffer (textBuffer,Lengthcount is less than 0 or greater than the remaining space in textBuffer (textBuffer.Length meno startIndex).minus startIndex).

Commenti

Questo metodo restituisce solo le esecuzioni ininterrotte del testo.This method returns only uninterrupted runs of text. Non viene restituito nulla se un tipo di simbolo Text diverso da è adiacente all' TextPointer oggetto corrente nella direzione specificata.Nothing is returned if any symbol type other than Text is adjacent to the current TextPointer in the specified direction. Analogamente, il testo viene restituito solo fino al simbolo non di testo successivo.Similarly, text is returned only up to the next non-text symbol.

Vedi anche

Si applica a