Retornando Propriedades de um Provedor de Aotmação de IU
Observação
Esta documentação destina.Os desenvolvedores do NET Framework que desejam usar o gerenciado UI Automation classes definidas na System.Windows.Automation namespace.As informações mais recentes sobre UI Automation, consulte API de automação do Windows: Automação da interface do usuário.
This topic contains sample code that shows how a UI Automation provider can return properties of an element to client applications.
For any property it does not explicitly support, the provider must return null (Nothing in Visual Basic). This ensures that UI Automation attempts to obtain the property from another source, such as the host window provider.
Exemplo
''' <summary>
''' Gets provider property values.
''' </summary>
''' <param name="propId">Property identifier.</param>
''' <returns>The value of the property.</returns>
Function GetPropertyValue(ByVal propId As Integer) As Object _
Implements IRawElementProviderSimple.GetPropertyValue
If propId = AutomationElementIdentifiers.NameProperty.Id Then
Return "Custom list control"
ElseIf propId = AutomationElementIdentifiers.ControlTypeProperty.Id Then
Return ControlType.List.Id
ElseIf propId = AutomationElementIdentifiers.IsContentElementProperty.Id Then
Return True
ElseIf propId = AutomationElementIdentifiers.IsControlElementProperty.Id Then
Return True
Else
Return Nothing
End If
End Function 'IRawElementProviderSimple.GetPropertyValue
/// <summary>
/// Gets provider property values.
/// </summary>
/// <param name="propId">Property identifier.</param>
/// <returns>The value of the property.</returns>
object IRawElementProviderSimple.GetPropertyValue(int propId)
{
if (propId == AutomationElementIdentifiers.NameProperty.Id)
{
return "Custom list control";
}
else if (propId == AutomationElementIdentifiers.ControlTypeProperty.Id)
{
return ControlType.List.Id;
}
else if (propId == AutomationElementIdentifiers.IsContentElementProperty.Id)
{
return true;
}
else if (propId == AutomationElementIdentifiers.IsControlElementProperty.Id)
{
return true;
}
else
{
return null;
}
}