Я хочу вертикально прокрутить элемент пользовательского интерфейса WPF (сетку данных) с помощью Microsoft's UIAutomation.
inspect.exe показывает мне, что свойство VerticalScrollable имеет значение true, а HorizontallyScrollable имеет значение false, что является правильным:
Кроме того, если я использую функцию прокрутки в inspect.exe, я могу правильно прокрутить сетку данных (например, с помощью «Маленького приращения»):
Теперь я хочу использовать эту логику в моем коде C #, которая не работает.
Вот что я делаю:
// dataGrid correctly contains my UI-element.
ScrollPattern pattern = dataGrid.GetCurrentPattern(ScrollPattern.Pattern) as ScrollPattern;
// neither this works, ...
pattern.ScrollVertical(ScrollAmount.SmallIncrement);
// ... nor this works.
pattern.Scroll(ScrollAmount.NoAmount, ScrollAmount.SmallIncrement);
Кроме того, если я посмотрю на свойство VerticalScrollable ScrollPattern, для него будет установлено значение false, что не соответствует действительности, поскольку элемент можно прокручивать (вручную, а также автоматизировать с помощью inspect.exe):
Я получаю это исключение после того, как я позвонил, например, pattern.ScrollVertical(ScrollAmount.SmallIncrement);
Почему он работает из-за inspect.exe, а не по коду?