TextPointer.GetTextInRun Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna o texto adjacente ao TextPointer atual.
Sobrecargas
GetTextInRun(LogicalDirection) |
Retorna uma cadeia de caracteres que contém qualquer texto adjacente ao TextPointer atual na direção lógica especificada. |
GetTextInRun(LogicalDirection, Char[], Int32, Int32) |
Copia o número máximo especificado de caracteres de qualquer texto adjacente na direção especificada para uma matriz de caracteres fornecida pelo cliente. |
GetTextInRun(LogicalDirection)
Retorna uma cadeia de caracteres que contém qualquer texto adjacente ao TextPointer atual na direção lógica especificada.
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
Um dos valores LogicalDirection que especifica a direção lógica na qual localizar e retornar qualquer texto adjacente.
Retornos
Uma cadeia de caracteres que contém qualquer texto adjacente na direção lógica especificada ou Empty se nenhum texto adjacente puder ser encontrado.
Exemplos
O exemplo a seguir demonstra um uso para esse método. O exemplo usa o GetTextInRun método para implementar um extrator de texto simples. O método retorna uma concatenação de cadeia de caracteres de todo o texto entre duas instâncias especificadas TextPointer .
Embora o exemplo possa ser usado para extrair qualquer texto entre duas TextPointer instâncias, ele se destina apenas a fins ilustrativos e não deve ser usado no código de produção. Use a propriedade 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.
Comentários
Esse método retorna apenas execuções ininterruptas de texto. Nada será retornado se qualquer tipo de símbolo diferente Text de for adjacente ao atual TextPointer na direção especificada. Da mesma forma, o texto é retornado somente até o próximo símbolo que não seja de texto.
Confira também
Aplica-se a
GetTextInRun(LogicalDirection, Char[], Int32, Int32)
Copia o número máximo especificado de caracteres de qualquer texto adjacente na direção especificada para uma matriz de caracteres fornecida pelo cliente.
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
Um dos valores LogicalDirection que especifica a direção lógica na qual localizar e copiar qualquer texto adjacente.
- textBuffer
- Char[]
Um buffer em que qualquer texto é copiado.
- startIndex
- Int32
Um índice em textBuffer
no qual começar a gravar o texto copiado.
- count
- Int32
O número máximo de caracteres a serem copiados.
Retornos
O número de caracteres de fato copiados para textBuffer
.
Exceções
startIndex
é menor que 0 ou maior que a propriedade Length de textBuffer
.
- ou -
count
é menor que 0 ou maior que o espaço restante em textBuffer
(textBuffer
.Length menos startIndex
).
Comentários
Esse método retorna apenas execuções ininterruptas de texto. Nada será retornado se qualquer tipo de símbolo diferente Text de for adjacente ao atual TextPointer na direção especificada. Da mesma forma, o texto é retornado somente até o próximo símbolo que não seja de texto.