Программа чтения с экрана отключила AutomationProperty.Id кнопки. - PullRequest
3 голосов
/ 19 марта 2019

Я добавил простое окно WPF с двумя кнопками.Кнопки становятся видимыми по определенной логике и имеют привязки, которые изменяют их свойства Visibility и IsEnabled.Сейчас я тестирую с помощью Windows Navigator и вижу, что Windows Navigator по умолчанию читает о кнопках, даже когда они не видны.Как сделать так, чтобы кнопка не читалась программами чтения с экрана (или по умолчанию навигатором Windows), когда кнопка отключена или не видна?

<Button Margin="0,0,80,10" Height="25" HorizontalAlignment="Right" Name="failedButton" 
        VerticalAlignment="Bottom" Width="75" DataContext="{Binding InstallationViewModel}" 
        Command="{Binding Failed}" 
        Visibility="{Binding Failed, 
                             Converter={StaticResource BooleanToVisibilityConverter}}"
        Content="Failed?" />

1 Ответ

0 голосов
/ 19 марта 2019

API автоматизации читает все, что обеспечивает одноранговый узел автоматизации.Поэтому, если вы не хотите, чтобы ваш элемент пользовательского интерфейса предоставлялся клиентам автоматизации, вам нужно переопределить OnCreateAutomationPeer и вернуть null.А это значит, что вы выбираете либо автоматизацию поддержки, либо нет, но вы не можете изменить ее во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...