首页 > 解决方案 > 停止屏幕阅读器以阅读我在 WPF 中的控件类型

问题描述

我有一个具有需求和辅助功能的旧 WPF 应用程序。该应用程序使用单选按钮来构建一个带有弹出菜单的菜单。

问题是用户不希望叙述者在单击时说出“单选按钮”。我正在使用AutomationProperties.HelpTextAutomationProperties.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 的所有属性都不起作用。

标签: c#wpfnarrator

解决方案


我的理解是,旁白将阅读广告类型,以便依赖屏幕阅读器的人知道如何与重点项目进行交互。

如果你真的需要控制它是如何工作的,你需要子类化RadioButton和覆盖OnCreateAutomationPeer来创建你自己的对等点,然后可以获得相当多的控制权。


推荐阅读