我使用的是Windows用户界面自动化框架:http://msdn.microsoft.com/en-us/library/System.Windows.Automation(v=vs.110).aspxWindows UI自动化。如何自动化Windows资源管理器滚动条?
我遇到的问题是,微软提供的UI自动化框架似乎是盲目的一些Windows资源管理器。我可以找到根AutomationElement“滚动条” 但是我无法找到它的子组件,即按钮,位置等。这种气味显然是因为很多WPF应用程序会使用Windows资源管理器来选择文件,因此微软会将其视为主要在其框架中的错误。所以我一定是做错了什么?
下面的代码演示了我在做什么。 root
是Windows资源管理器AutomationElement。我验证了这一点,因为我可以看到滚动条项目,因为它有一个自动化ID。我也证实这是正确的垂直滚动条,因为它们中有两个在Windows资源管理器中。
AutomationElement functionControl = root.FindFirst(TreeScope.Descendants |
TreeScope.Element | TreeScope.Subtree,new
PropertyCondition(AutomationElement.NameProperty, "Page down"));
我想我有空的时候会回来。但在睡觉之后,我很可能不得不使用原始视图助手。我也在一个自动化元素上使用Value模式重新实现了这一点,自动化框架无法检测到此滚动条实现了该模式。 – LLL
也因为我没有测试这个对话框......我放弃了,并会找到一个替代路线。对于所有发现自己处于这种状况的人,我都会这样建议。 – LLL