Получение свойств элемента автоматизации пользовательского интерфейса

Замечание

Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.

В этом разделе показано, как получить свойства элемента автоматизации пользовательского интерфейса.

Получение значения текущего свойства

  1. Получите AutomationElement, свойство которого вы хотите узнать.

  2. Вызовите GetCurrentPropertyValue, или получите структуру свойств Current и извлеките значение из одного из её членов.

Получение значения кэшированного свойства

  1. Получите объект AutomationElement, свойство которого вы хотите узнать. Свойство должно быть указано в объекте CacheRequest.

  2. Вызовите GetCachedPropertyValue, или получите структуру свойств Cached и извлеките значение из одного из её членов.

Пример

В следующем примере показаны различные способы получения текущих свойств объекта AutomationElement.

void PropertyCallsExample(AutomationElement elementList)
{
    // The following two calls are equivalent.
    string name = elementList.Current.Name;
    name = elementList.GetCurrentPropertyValue(AutomationElement.NameProperty) as string;

    // The following shows how to ignore the default property, which
    //  would probably be an empty string if the property is not supported.
    //  Passing "false" as the second parameter is equivalent to using the overload
    //  that does not have this parameter.
    object help = elementList.GetCurrentPropertyValue(AutomationElement.HelpTextProperty, true);
    if (help == AutomationElement.NotSupported)
    {
        help = "No help available";
    }
    string helpText = (string)help;
}
Sub PropertyCallsExample(ByVal elementList As AutomationElement)
    ' The following two calls are equivalent.
    Dim name As String = elementList.Current.Name
    name = CStr(elementList.GetCurrentPropertyValue(AutomationElement.NameProperty))

    ' The following shows how to ignore the default property, which 
    '  would probably be an empty string if the property is not supported.
    '  Passing "false" as the second parameter is equivalent to using the overload
    '  that does not have this parameter.
    Dim help As Object = elementList.GetCurrentPropertyValue(AutomationElement.HelpTextProperty, True)
    If help Is AutomationElement.NotSupported Then
        help = "No help available"
    End If
    Dim helpText As String = CStr(help)

End Sub

См. также