Silverlight хорошо делает дерево автоматизации доступным, но есть ли способ программно попросить программу чтения с экрана что-то прочитать? До сих пор я использовал:
AutomationPeer peer = FrameworkElementAutomationPeer.FromElement(element);
if (peer == null)
{
peer = FrameworkElementAutomationPeer.CreatePeerForElement(element);
}
if (peer != null)
{
peer.RaiseAutomationEvent(AutomationEvents.AutomationFocusChanged);
}
Это прекрасно работает в среде выполнения отладки Silverlight (т.е. если я запускаю IE из VS), но не работает, если я запускаю IE вне Visual Studio (даже если он указывает на тот же внутренний сервер разработки...). Итак, есть ли другой простой способ попросить программу чтения с экрана что-то прочитать?
РЕДАКТИРОВАТЬ: он также отлично работает в MS Narrator, но не в NVDA... странно.