UWP应用中CS代码创建的按钮如何设置属性让讲述器朗读完整名称
UWP按钮让讲述器朗读完整名称的解决方法
在UWP中,控件的Name属性仅用于代码内标识控件,不会被讲述器(Narrator)识别为朗读内容;若你设置Content后仍无效,要么是赋值方式有问题,要么是按钮属于无文本的图标类按钮,此时需要通过辅助属性指定朗读内容。
以下是两种可行的解决方式:
1. 设置按钮的Content属性(适用于需要显示文本的按钮)
Content是按钮的可视化内容,默认会被辅助技术读取,直接赋值即可:
var button = new Button(); button.Background = new SolidColorBrush(); button.Opacity = 1.0; button.Content = "Test Button"; // 设置后讲述器会朗读该文本
2. 设置AutomationProperties.Name属性(适用于无文本的按钮,比如图标按钮)
如果按钮不需要显示文本,仅需让讲述器朗读名称,可通过AutomationProperties的附加属性指定:
var button = new Button(); button.Background = new SolidColorBrush(); button.Opacity = 1.0; // 显式设置辅助朗读的名称 AutomationProperties.SetName(button, "Test Button");
补充说明
- 若同时设置
Content和AutomationProperties.Name,讲述器会优先读取AutomationProperties.Name的值; - UWP项目默认已启用辅助功能支持,无需额外配置。
内容的提问来源于stack exchange,提问作者Sumnoon
相关产品推荐
相关产品推荐

