1

我正在尝试使用以下代码在第三方 .net 应用程序中滚动滚动条。当我在 Visual Studio 中运行代码时,它会引发访问冲突。当我在 Visual Studio 之外执行程序集时,它显示 Unsupported Pattern.... 任何想法都非常感谢 =]

if(child.Current.ClassName == "ScrollBar")
{
    PropertyCondition condition = new PropertyCondition(AutomationElement.AutomationIdProperty, child.Current.AutomationId);
    AutomationElement btnElement = child.FindFirst(TreeScope.Element, condition);
    ScrollPattern btnPattern = btnElement.GetCurrentPattern(ScrollPattern.Pattern) as ScrollPattern;
    btnPattern.ScrollVertical(ScrollAmount.LargeIncrement);
}
4

1 回答 1

2

我会做的几项检查:

  1. 您的 btnElement 缺少空值检查。
  2. 确保滚动条确实存在(除非窗格大小超过窗口大小,否则滚动模式不会暴露 - 如果以这种方式设计)。
  3. 最后,不要直接将模式作为 ScrollPattern 获取,而是从 bthElement 尝试 GetAllSupportedPatterns,确保 Scroll Pattern 确实存在。
于 2014-10-03T22:15:10.030 回答