Как узнать ControlType элемента пользовательского интерфейса из свойства CurrentControlType

1

В основном я использую UIAutomationClient.Interop.dll для некоторых пользовательских интерфейсов, которые я выполняю сейчас, и сталкиваюсь со следующей проблемой:

  • У меня есть элемент пользовательского интерфейса. Я хотел бы узнать его Тип управления.
  • UIAutomationClient.Interop.dll предоставляет следующее свойство: IUIAutomationElement :: Свойство CurrentControlType
  • Вышеизложенное свойство возвращает Int, представляющий идентификатор типа управления, но не объект ControlType.

Вопрос:

  • Как я могу узнать, что такое ControlType элемента UI, просто зная его идентификатор? Я не смог узнать другую полезную информацию.

ПРИМЕЧАНИЕ.

Я использую UIAutomationTypes.dll для определения объекта ControlType

Есть идеи?

  • 1
    Почему вы используете UIAutomationClient.Interop вместо стандартного UIAutomationClient?
Теги:
ui-automation
microsoft-ui-automation

1 ответ

0

Я использую GetCurrentPropertyValue(AutomationElement.ControlTypeProperty) в IronPython. Наверное, это то, чего ты хочешь. Он должен возвращать объект ControlType. Хотя я использую его строковое представление .ProgrammaticName.lstrip('ControlType.').strip("'").

  • 0
    Я попробовал это, и я получаю исключение. В основном я сделал следующее: var currentControlType = root.GetCurrentPropertyValue (root.CurrentControlType); Он вернул, что значение не попадает в ожидаемый диапазон.
  • 0
    Хорошо, это работает по-разному в C # и IronPython. Есть код C #, который работает для меня: root.Current.ControlType.ProgrammaticName . Возвращает строку «ControlType.Pane». Таким образом, root.Current.ControlType представляет объект ControlType. Он также имеет свойство Id .
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню