LegacyIAccessible
является новым и недоступен на уровне .NET, как и в .NET 4.0.Но есть проект на CodePlex , который имеет более новую реализацию, в которой в наборе изменений 38718 добавлена поддержка для этого.
Имейте в виду, что вам нужно скомпилировать проект из исходного кода, последний бинарный выпуск слишком стар, чтобы содержать это, к сожалению ...
То, что вы хотите сделать, выглядит примерно так:
if ((bool) child.GetCurrentPropertyValue(AutomationElementIdentifiers.IsLegacyIAccessiblePatternAvailableProperty)) {
var pattern = ((LegacyIAccessiblePattern) child.GetCurrentPattern(LegacyIAccessiblePattern.Pattern));
var state = pattern.GetIAccessible().accState;
// Do something with state...
}
В комментариях к исходному коду говорится, что это новые функции для Windows 7, но я заставляю его работать в Windows XP SP3 ...
Надеюсь, это поможет!
/ AZ