WPF UI Automation - Дерево управления не разворачивается до тех пор, пока область не будет нажата для TabControl - PullRequest
0 голосов
/ 28 июля 2011

Я делаю автоматизацию пользовательского интерфейса для приложения WPF с использованием библиотеки автоматизации пользовательского интерфейса Microsoft, и она работает хорошо.

Однако мое приложение имеет четыре экрана в TabControl. Даже когда я щелкаю элемент вкладки с помощью кода, его дочернее дерево управления не заполняется. Единственный элемент управления, который я вижу, это элемент управления «большой палец». То же самое происходит, когда я вижу дерево управления с UISpy.

Однако, если щелкнуть окно, появятся все элементы управления. В качестве обходного пути я имитирую щелчок мышью по коду, и он работает. Я хотел знать, есть ли лучший способ сделать это.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2014

Я столкнулся с проблемой, похожей на эту.Происходило то, что некоторые данные извлекались из потоков, а элементы управления не генерировались в тот момент, когда создавались узлы автоматизации.Я хотел бы предложить, если у вас есть доступ к базе кода для приложения, которое вы пытаетесь автоматизировать, чтобы выяснить, используется ли многопоточность.В моем конкретном случае это было потому, что BeginInvokes использовались для извлечения данных, я переключил их на Invokes, и они работали нормально.

Также из того, что я мог сказать, причина, по которой элементы управления отображались при наведении мыши, заключалась в том, чтовсплывающая подсказка вызвала всплывающее окно и привела к обновлению одноранговых узлов автоматизации.

0 голосов
/ 09 августа 2012

Почему бы вам не щелкнуть элемент управления, используя события мыши, если это то, что работает.

(Теперь, если у вас все еще есть эта проблема ..)

Как смоделировать щелчок мыши в C #?

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