我正在开发一个 WPF 应用程序,当我在我的应用程序上加载新表单时,我希望叙述者阅读文本。我正在使用这个命令来调用叙述者:
var accessibleObject = (TextAccessibleObject) ((WindowsFormsHost) GetTemplateChild("AccessibleControl"))?.Child.AccessibilityObject;
if (accessibleObject != null)
{
accessibleObject.Name = "Narrator Text";
accessibleObject.NotifyClients(AccessibleEvents.SystemAlert);
}
我确实始终如一地、非强制地进入 if 语句,尽管,
accessibleObject.NotifyClients(AccessibleEvents.SystemAlert);
被一致地调用,叙述者有时会宣布提供的文本,我只能假设背景中有一种种族导致它不一致。
有没有更好的方法来确保叙述者阅读文本?