Как скрыть элемент WPF для корректной работы с инфраструктурой автоматизации? - PullRequest
0 голосов
/ 13 февраля 2019

Наиболее распространенный способ скрытия элемента управления WPF - установить для атрибута Visibility значение Hidden или Collapsed.Когда я сделал это для примера приложения и попытался найти эти элементы с помощью инфраструктуры автоматизации, я получил элементы с флагом IsOffscreen, установленным на true.

Например:

<Label Content="Hidden label" Visibility="Hidden"/>

Visibility: Hidden

<Label Content="Collapsed label" Visibility="Collapsed"/>

Visibility: Collapsed

С моей точки зрения это выглядит разумно, но документация по инфраструктуре автоматизации: https://docs.microsoft.com/en-us/windows/desktop/winauto/uiauto-automation-element-propids говорит:

Объекты, которые конечный пользователь вообще не воспринимает или которые «программно скрыты» (например, диалоговое окно, которое было закрыто, но лежащий в основеобъект по-прежнему кэшируется приложением) не должен находиться в дереве элементов автоматизации на первом месте (вместо установки состояния IsOffscreen в значение ИСТИНА).

Как можно добиться результата, на который указываетв документации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...