TextPointer.GetTextInRun Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce il testo adiacente all'oggetto TextPointer corrente.
Overload
GetTextInRun(LogicalDirection) |
Restituisce una stringa contenente il testo adiacente all'oggetto TextPointer corrente nella direzione logica specificata. |
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. |
GetTextInRun(LogicalDirection)
Restituisce una stringa contenente il testo adiacente all'oggetto TextPointer corrente nella direzione logica specificata.
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.
Restituisce
Stringa contenente il testo adiacente nella direzione logica specificata, oppure Empty se risulta impossibile trovare un testo adiacente.
Esempio
Nell'esempio seguente viene illustrato un utilizzo per questo metodo. Nell'esempio viene utilizzato il GetTextInRun metodo per implementare un semplice estrattore di testo. Il metodo restituisce una concatenazione di stringa di tutto il testo tra due istanze specificate TextPointer .
Anche se l'esempio può essere usato per estrarre testo tra due TextPointer istanze, è destinato solo a scopi illustrativi e non deve essere usato nel codice di produzione. Utilizzare in alternativa la proprietà 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.
Commenti
Questo metodo restituisce solo esecuzioni di testo ininterrotte. Non viene restituito alcun valore se un tipo di simbolo diverso Text da è adiacente all'oggetto corrente TextPointer nella direzione specificata. Analogamente, il testo viene restituito solo fino al simbolo non di testo successivo.
Vedi anche
Si applica a
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.
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.
- textBuffer
- Char[]
Buffer nel quale viene copiato il testo.
- startIndex
- Int32
Indice in textBuffer
nel quale iniziare a scrivere il testo copiato.
- count
- Int32
Numero massimo di caratteri da copiare.
Restituisce
Numero di caratteri realmente copiati in textBuffer
.
Eccezioni
startIndex
è inferiore a 0 o superiore alla proprietà Length di textBuffer
.
-oppure-
count
è minore di 0 o maggiore dello spazio rimanente in textBuffer
(textBuffer
.Length meno startIndex
).
Commenti
Questo metodo restituisce solo esecuzioni di testo ininterrotte. Non viene restituito alcun valore se un tipo di simbolo diverso Text da è adiacente all'oggetto corrente TextPointer nella direzione specificata. Analogamente, il testo viene restituito solo fino al simbolo non di testo successivo.