c# - 停止屏幕阅读器以阅读我在 WPF 中的控件类型
问题描述
我有一个具有需求和辅助功能的旧 WPF 应用程序。该应用程序使用单选按钮来构建一个带有弹出菜单的菜单。
问题是用户不希望叙述者在单击时说出“单选按钮”。我正在使用AutomationProperties.HelpText
并AutomationProperties.Name
调整控件的文本。我不知道如何更改叙述者在控件处于焦点时读出的“ControlType”。
<RadioButton
AutomationProperties.AcceleratorKey="1"
AutomationProperties.AccessKey="3"
AutomationProperties.AutomationId="2"
AutomationProperties.HelpText="Taufiq"
AutomationProperties.ItemStatus="Test"
AutomationProperties.ItemType="Text"
AutomationProperties.Name="Take Snapshot"
Command="{Binding TakeSnapshotCommand}">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{DynamicResource GalleryIcon}" Focusable="False" />
<TextBlock Text="Take Snapshot" />
</StackPanel>
</RadioButton>
AutomationProperties 的所有属性都不起作用。
解决方案
我的理解是,旁白将阅读广告类型,以便依赖屏幕阅读器的人知道如何与重点项目进行交互。
如果你真的需要控制它是如何工作的,你需要子类化RadioButton
和覆盖OnCreateAutomationPeer
来创建你自己的对等点,然后可以获得相当多的控制权。
推荐阅读
- airflow - Airflow:如何将数据从父 dag 传递到子 dag(通过 xcom 或其他方式)
- javascript - 通过 JavaScript 敲击字符串
- html - 如何制作这种位于按钮旁边和其他元素上方的弹出窗口?
- spring - 仅当json有效时如何缓存
- html - DIV悬停时CSS更改图像不起作用
- excel - Excel IF 包含日期行的 ISBLANK
- c++ - qtableview 添加和显示订购的物品,因为它们是任意到达的?
- javascript - 导入本地 npm 包时出错
- hyperledger-fabric - 为 hyperledger Composer 卡设置“凭据集”
- android - Android Workmanager 在固定进程中运行作业