TextPatternRange.FindAttribute 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 um subconjunto do intervalo de texto que tem o valor de atributo especificado.
public:
System::Windows::Automation::Text::TextPatternRange ^ FindAttribute(System::Windows::Automation::AutomationTextAttribute ^ attribute, System::Object ^ value, bool backward);
public System.Windows.Automation.Text.TextPatternRange FindAttribute (System.Windows.Automation.AutomationTextAttribute attribute, object value, bool backward);
member this.FindAttribute : System.Windows.Automation.AutomationTextAttribute * obj * bool -> System.Windows.Automation.Text.TextPatternRange
Public Function FindAttribute (attribute As AutomationTextAttribute, value As Object, backward As Boolean) As TextPatternRange
Parâmetros
- attribute
- AutomationTextAttribute
O atributo a ser pesquisado.
- value
- Object
O valor de atributo a ser pesquisado. Esse valor deve corresponder ao tipo especificado para o atributo.
- backward
- Boolean
true
se o último intervalo de texto que ocorre por último deve ser retornada em vez da primeira, caso contrário, false
.
Retornos
Um intervalo de texto com um atributo e um valor de atributo correspondentes, caso contrário, nulo (Nothing
no Visual Basic).
Exemplos
private TextPatternRange RangeFromAttribute(AutomationElement target)
{
// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);
// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);
TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
if (textpatternPattern == null)
{
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
return null;
}
TextPatternRange[] currentSelelction = textpatternPattern.GetSelection();
// Find 'italic' range
return currentSelelction[0].FindAttribute(TextPattern.IsItalicAttribute, true, false);
}
Private Function RangeFromAttribute(ByVal target As AutomationElement) As TextPatternRange
' Specify the control type we're looking for, in this case 'Document'
Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)
' target --> The root AutomationElement.
Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)
Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)
If (textpatternPattern Is Nothing) Then
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
Return Nothing
End If
Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
Return currentSelection(0).FindAttribute(TextPattern.IsItalicAttribute, True, False)
End Function
Comentários
Não há nenhuma diferenciação entre texto oculto e visível. Os clientes de Automação da Interface do Usuário podem usar IsHiddenAttribute para marcar visibilidade do texto.
Observação
Use DocumentRange para pesquisar o documento inteiro.