Я использую рамки автоматизации пользовательского интерфейса Windows: http://msdn.microsoft.com/en-us/library/System.Windows.Automation(v=vs.110).aspxАвтоматизация пользовательского интерфейса Windows. Как автоматизировать прокрутку прокрутки окон?
Проблема Я бегу в том, что основа автоматизации пользовательского интерфейса, предоставленный корпорацией Майкрософт, казалось бы, слеп к некоторым из окна проводника. Я могу найти корень AutomationElement «Полоса прокрутки» , однако я не могу найти его подкомпоненты, т. Е. Кнопку, положение и т. Д. Это пахнет, потому что очевидно, что многие приложения WPF будут использовать проводник Windows для выбора файлов, и, таким образом, Microsoft будет рассматривать это как основное ошибка в ее рамках. Значит, я должен делать что-то неправильно?
Код ниже демонстрирует, что я делаю. root
- это обозреватель Windows AutomationElement. Я проверил это, так как я вижу элемент полосы прокрутки, так как он имеет идентификатор автоматизации. Я также подтвердил, что это была правильная вертикальная полоса прокрутки, так как в обозревателе Windows их две.
AutomationElement functionControl = root.FindFirst(TreeScope.Descendants |
TreeScope.Element | TreeScope.Subtree,new
PropertyCondition(AutomationElement.NameProperty, "Page down"));
Думаю, мне придется вернуться к этому, когда у меня будет время. Однако после сна на нем, скорее всего, мне придется использовать необработанный ходок. Я также повторно реализовал это, используя шаблон Value на одном элементе автоматизации, который я могу получить, и система автоматизации не могла обнаружить, что эта полоса прокрутки реализует этот шаблон. – LLL
Также, поскольку я не тестирую этот диалог ... Я сдаюсь и найду альтернативный маршрут. Я предлагаю то же самое для всех остальных, которые оказываются в такой ситуации. – LLL