WPF: Как предотвратить чтение символа подчеркивания элемента AccessText от Narrator? - PullRequest
1 голос
/ 11 февраля 2020

Я столкнулся со странной проблемой при попытке доступа к клавиатуре и Narrator.

В следующем коде XAML:

<StackPanel>
    <CheckBox Name="CheckBox"
              AutomationProperties.Name="{Binding RelativeSource={RelativeSource Self}, Path=Content.(AccessText.Text)}">
        <AccessText >C_heck me</AccessText>
    </CheckBox>
</StackPanel>

По умолчанию Windows 10 Читатель читает "C underscore heck me CheckBox unchecked ".

Есть ли способ сохранить навигацию по клавиатуре и получать показания от рассказчика как" Check me checkbox unchecked "?

Обратите внимание, приведенный выше код является примером, и у меня много мест, где происходят подобные проблемы. Я уже пытался добавить конвертер и использовать его с AutomationProperties.Name, но это вызвало замедление работы приложения.

1 Ответ

0 голосов
/ 13 февраля 2020

Ваш подход использования вашего, скажем, AccessTextToAutomationPropertiesNameConverter (), который удаляет подчеркивание, будет привлекательным способом для go для некоторых приложений. Какое влияние это оказало на производительность вашего приложения (и сколько элементов управления должно было проходить через конвертер)? У вашего конвертера был режим OneTime? Другим вариантом было бы иметь отдельные локализованные строки для AutomationProperties.Name и AccessText, но я вижу, как это не привлекательно, учитывая, что это увеличит затраты на локализацию.

...