2013-02-21 156 views
5

在WinForms应用程序中,可以使用Control.AccessibleName property为辅助功能客户端命名控件。AccesibleName属性的WPF等效项

WPF控件缺乏这个属性,所以我想知道如何给WPF应用程序中的控件提供可访问的名称。


我读过的文档和我知道这一切与UIA改变,但我仍然无法找到一个方法来改变这种属性。正如doc指出,有两个必需的属性:

  • 名称
  • 自动化ID

我能找到Automation ID但不是名字。它隐藏在哪里?

+0

什么是可访问的名称? – sll 2013-02-21 15:49:37

+1

您的答案应该在这里:http://msdn.microsoft.com/en-us/library/windows/desktop/gg712258.aspx – Pete 2013-02-21 15:49:43

+0

http://msdn.microsoft.com/en-us/library/system.windows .forms.control.accessiblename(v = vs.71).aspx – phadaphunk 2013-02-21 15:49:53

回答

5

AutomationProperties.Name是您正在查找的附属资产。

您可以在XAML直接指定:

<object AutomationProperties.Name="name" .../> 

或者使用的getter/setter方法上AutomationProperties:

using System.Windows.Automation; 
... 
AutomationProperties.SetName(control, "name"); 

......或者......

control.SetValue(AutomationProperties.NameProperty, "name");