前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UWP基础教程 - AuotmationProperties.Name

UWP基础教程 - AuotmationProperties.Name

作者头像
陈仁松
发布2018-03-20 16:34:17
7680
发布2018-03-20 16:34:17
举报
文章被收录于专栏:陈仁松博客陈仁松博客

作为Windows10 UWP开发,大家应该会在很多示例DEMO里面看到AuotmationProperties.Name这个属性吧

<Button AutomationProperties.Name="Hello">Hello</Button>

AuotmationProperties.Name属性的作用是为控件指定可访问性名称,这个名称可以被类似于“讲述人”软件识别,从而提供了软件的可访问性(如视力有障碍的人等),同样也可以在自动化测试中被使用。原则上,一个控件的AutomationProperties.Name最好与此控件显示的标签文本一致(如上代码所示)

微软也非常人性化,如果某个控件(或元素)有可视化文本内容(如 Button 的 Content 属性设置了文本),那么该控件上显示的文本将作为它的 Accessible Name,因此对于这种类型的控件不需要专门为其设置 AutomationProperites.Name 属性。

如果该控件没有可示文本,那么你可以进行设置 AutomationProperties.Name ,如果你需要设置多语言,可以用以下方式来实现

<Button x:Uid="TestButton" />

在 Strings/zh-cn/Resources.resx 中,我们添加一条项目为其设置 Accessible Name,如下:

Name:    TestButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name                    
Value:   Test Button

AutomationProperties.Name同样也支持Binding和TemplateBinding方式,你可以通过下面的方式来设置

 <TextBox …
         Header="Hello"
         AutomationProperties.Name= "{Binding Header, RelativeSource={RelativeSource Self}}" />

当然同样可以采用C#代码来设置

using Windows.UI.Xaml.Automation;
myControl.SetValue(AutomationProperties.NameProperty, 'Hello');

虽然微软并不强制要求使用AutomationProperties.Name属性,但是对于提升一个APP的质量还是有必要学习的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档