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