Partilhar via


Obtenha Detalhes de Atribuos de Texto Misto Usando Automação de Interface de Usuário

Este tópico mostra como usar Para obter detalhes de atributo de texto de um intervalo de texto que se estende por vários valores de atributo.A text range can correspond to the current location of the caret (or degenerate selection) within a document, a contiguous selection of text, a collection of disjoint text selections, or the entire textual content of a document.

Exemplo

O exemplo de código a seguir demonstra como obter o FontNameAttribute a partir de um intervalo de texto onde GetAtributoValor(AutomationTextoAtributo) Retorna um MixedAttributeValue Objeto.






  DisplaySelectedTextWithAttributes(string selectedText)
{
    targetSelection.Text = selectedText;
    
    
    targetSelectionAttributes.Text = 
        ParseTextRangeByAttribute(
        selectedText, TextPattern.FontNameAttribute);
}













 string ParseTextRangeByAttribute(
    string selectedText, 
    AutomationTextAttribute automationTextAttribute)
{
    StringBuilder attributeDetails =  StringBuilder();
    
    string attributeValue = ;
    
    TextPatternRange searchRangeClone = searchRange.Clone();
    
    searchRangeClone.Move(TextUnit.Character, -1);
    
     ( x = 1; x <= selectedText.Length; x++)
    {
        searchRangeClone.Move(TextUnit.Character, 1);
        
        string newAttributeValue = 
            searchRangeClone.GetAttributeValue(automationTextAttribute).ToString();
        
        
         (newAttributeValue != attributeValue)
        {
            attributeDetails.Append(automationTextAttribute.ProgrammaticName)
                .Append()
                .Append(newAttributeValue)
                .Append()
                .AppendLine(x.ToString());
            attributeValue = newAttributeValue;
        }
    }
     attributeDetails.ToString();
}





  DisplaySelectedTextWithAttributes( selectedText  )
    targetSelection.Text = selectedText


    targetSelectionAttributes.Text = _
        ParseTextRangeByAttribute( _
        selectedText, TextPattern.FontNameAttribute)
 












 ParseTextRangeByAttribute( _
 selectedText  , _
 automationTextAttribute  AutomationTextAttribute)  
     attributeDetails  StringBuilder =  StringBuilder()

     attributeValue   = 

     searchRangeClone  TextPatternRange = searchRange.Clone()

    searchRangeClone.Move(TextUnit.Character, -1)

     x  
     x = 1  selectedText.Length
        searchRangeClone.Move(TextUnit.Character, 1)

         newAttributeValue   = _
            searchRangeClone.GetAttributeValue(automationTextAttribute).ToString()


         (newAttributeValue <> attributeValue) 
            attributeDetails.Append(automationTextAttribute.ProgrammaticName) _
            .Append() _
            .Append(vbLf) _
            .Append() _
            .Append(newAttributeValue) _
            .Append() _
            .AppendLine(x.ToString())
            attributeValue = newAttributeValue
         
    
     attributeDetails.ToString()
 

O TextPattern controle padrãoem tandem com o TextPatternRange Classe, oferece suporte a atributos de texto básico, propriedades e métodos.Para a funcionalidade de controle específicos que não é suportada pelo. TextPattern ou TextPatternRangeo AutomationElement Classe fornece métodos para um Cliente de Automação interface do usuário to access the corresponding native object model.

Consulte também

Tarefas

Acrescentar Conteúdo a um Text Box Utilizando Automação de IU

Encontre e Destaque Texto Utilizando Automação de Interface de Usuário

Obtain Text Attributes Using UI Automation

Conceitos

UI Automation TextPattern Overview

Visão Geral de Padrões de Controle de Automação de Interface de Usuário

Padrões de Controle para Clientes de Automação de IU