1

次のコードを使用して、サード パーティの .net アプリケーションでスクロールバーをスクロールしようとしています。Visual Studio でコードを実行すると、アクセス違反がスローされます。Visual Studio の外でアセンブリを実行すると、サポートされていないパターンと表示されます。どんなアイデアでも大歓迎です =]

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 の Null チェックがありません。
  2. スクロール バーが実際に存在することを確認します (ペイン サイズがウィンドウ サイズを超えない限り、スクロール パターンは表示されません。そのように設計されている場合)。
  3. 最後に、ScrollPattern としてパターンを直接取得する代わりに、bthElement から GetAllSupportedPatterns を試して、Scroll Pattern が実際に存在することを確認します。
于 2014-10-03T22:15:10.030 に答える