0

我正在使用 Windows UI 自动化框架: http: //msdn.microsoft.com/en-us/library/System.Windows.Automation (v=vs.110).aspx

我遇到的问题是微软提供的 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"));
4

1 回答 1

5

你到底想做什么?如果您尝试向下滚动,则不应通过实际找到向下/向上按钮来执行此操作,而应通过从滚动条本身请求 ScrollPattern,然后调用 ScrollVertical/ScrollHortizontal/SetScrollPercent 来执行此操作——无论您喜欢哪个.

于 2013-11-04T10:10:41.340 回答