AutomationProperties 类

定义

支持获取或设置自动化属性的实例级值。 这些属性值通常 (XAML) 设置为附加属性,并补充或替代控件 AutomationPeer 中的自动化属性值。

public ref class AutomationProperties sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AutomationProperties final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AutomationProperties
Public NotInheritable Class AutomationProperties
继承
Object Platform::Object IInspectable AutomationProperties
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

提示

打开 WinUI 3 库应用,查看操作中的以下辅助功能原则:

WinUI 3 库应用包括大多数 WinUI 3 控件、特性和功能的交互式示例。 从 Microsoft Store 获取应用或在 GitHub 上获取源代码

注解

AutomationProperties 是多个 XAML 附加属性的主机服务类。 这些附加属性的目的是允许设置与 UI 元素如何向 Microsoft UI 自动化辅助功能框架报告相关的各种每个实例值。 如果 UI 元素的类设计尚未转发其他与 UI 相关的属性值作为其 Microsoft UI 自动化 集成或对等实现行为的一部分,或者要转发的值不是要报告给 Microsoft UI 自动化的值,则这非常有用。

为了支持 XAML 处理器访问附加属性,以及向代码公开等效的 get 和 set 操作,每个 XAML 附加属性都有一对 GetSet 访问器方法,这些方法也是 AutomationProperties 的成员。 例如,GetNameSetName 方法支持并为向 Microsoft UI 自动化报告自动化 Name 值提供等效的纯代码支持,而不是使用 Name 附加属性在 XAML 中设置它。 或者,可以使用依赖属性系统来获取或设置附加属性的值,这还会向 Microsoft UI 自动化报告基础值。 调用 GetValueSetValue,传递要设置的依赖属性标识符的参数,以及对其获取或设置值的目标对象的引用。

Name 属性

在各种附加属性中,最重要的属性可能是 Name。 这是因为当用户在辅助功能方案中与应用交互时,由辅助技术最常访问和报告的 Name 属性。 Name 充当 UI 元素的可读标识符。

各种 UI 元素具有对等转发,可以根据其他元素属性提供默认 的 Name 值。 例如,Button 类的对等转发将转发 Button 内容的 ToString 计算,并使用此字符串作为默认名称。 若要重写该默认值,或者要为没有 Microsoft UI 自动化 Name 可用的任何 UI 元素提供 Name 值,请在 XAML 中设置该元素的 Name 附加属性。 有关 Microsoft UI 自动化名称为何重要的详细信息,请参阅基本辅助功能信息。 有关如何测试元素是否已具有对等提供的有用 名称 的详细信息,请参阅 辅助功能测试

出于本地化原因,应避免在 XAML 中为 Name 使用硬编码字符串值。 如果在 元素上设置 x:Uid 指令 ,则可以使用 RESW 资源以属性为目标,并为本地化提供不同的值。 对于附加属性,资源标识符表单要求以 XAML 形式对附加属性进行完全限定,包括其命名空间和 using: 前缀。 例如,若要将 x:Uid 指令值为“sendButton”的资源上的 AutomationProperties.Name 附加属性值,RESW 资源中的数据项的名称值为sendButton.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name

有关每个附加属性的详细信息,请参阅 附加属性 以获取完整列表 (,请参阅每个属性的 标识符字段) 。

版本历史记录

Windows 版本 SDK 版本 增值
1511 10586 GetLandmarkType
1511 10586 GetLocalizedLandmarkType
1511 10586 SetLandmarkType
1511 10586 SetLocalizedLandmarkType
1607 14393 GetDescribedBy
1607 14393 GetFlowsFrom
1607 14393 GetFlowsTo
1607 14393 GetFullDescription
1607 14393 GetIsDataValidForForm
1607 14393 GetIsPeripheral
1607 14393 GetLocalizedControlType
1607 14393 SetFullDescription
1607 14393 SetIsDataValidForForm
1607 14393 SetIsPeripheral
1607 14393 SetLocalizedControlType
1703 15063 GetCulture
1703 15063 SetCulture
1803 17134 GetHeadingLevel
1803 17134 SetHeadingLevel
1809 17763 GetIsDialog
1809 17763 SetIsDialog

属性

AcceleratorKeyProperty

标识 AutomationProperties.AcceleratorKey 附加属性。

AccessibilityViewProperty

标识 AutomationProperties.AccessibilityView 附加属性。

AccessKeyProperty

标识 AutomationProperties.AccessKey 附加属性。

AnnotationsProperty

标识 AutomationProperties.Annotations 附加属性。

AutomationControlTypeProperty

标识 AutomationProperties.AutomationControlType 附加属性。

AutomationIdProperty

标识 AutomationProperties.AutomationId 附加属性。

ControlledPeersProperty

标识 AutomationProperties.ControlledPeers 附加属性。

CultureProperty

标识 AutomationProperties.Culture 附加属性。

DescribedByProperty

标识 AutomationProperties.DescribedBy 附加属性。

FlowsFromProperty

标识 FlowsFrom 附加属性。

FlowsToProperty

标识 FlowsTo 附加属性。

FullDescriptionProperty

标识 AutomationProperties.FullDescription XAML 附加属性。

HeadingLevelProperty

标识 HeadingLevel XAML 附加属性。

HelpTextProperty

标识 AutomationProperties.HelpText XAML 附加属性。

IsDataValidForFormProperty

标识 AutomationProperties.IsDataValidForForm XAML 附加属性。

IsDialogProperty

标识 AutomationProperties.IsDialog XAML 附加属性。

IsPeripheralProperty

标识 AutomationProperties.IsPeripheral XAML 附加属性。

IsRequiredForFormProperty

标识 AutomationProperties.IsRequiredForForm XAML 附加属性。

ItemStatusProperty

标识 AutomationProperties.ItemStatus XAML 附加属性。

ItemTypeProperty

标识 AutomationProperties.ItemType XAML 附加属性。

LabeledByProperty

标识 AutomationProperties.LabeledBy XAML 附加属性。

LandmarkTypeProperty

标识 AutomationProperties.LandmarkType XAML 附加属性。

LevelProperty

标识 AutomationProperties.Level XAML 附加属性。

LiveSettingProperty

标识 AutomationProperties.LiveSetting XAML 附加属性。

LocalizedControlTypeProperty

标识 AutomationProperties.LocalizedControlType XAML 附加属性,该属性是描述自动化元素表示的控件类型的文本字符串。

LocalizedLandmarkTypeProperty

标识 AutomationProperties.LocalizedLandmarkType XAML 附加属性。

NameProperty

标识 AutomationProperties.Name XAML 附加属性。

PositionInSetProperty

标识 AutomationProperties.PositionInSet XAML 附加属性。

SizeOfSetProperty

标识 AutomationProperties.SizeOfSet XAML 附加属性。

附加属性

AcceleratorKey

获取或设置一个字符串,其中包含快捷键 (也称为快捷键) 自动化元素的组合。

AccessibilityView

获取或设置元素的 Microsoft UI 自动化树视图模式。

AccessKey

获取或设置包含自动化元素的访问键字符的字符串。

Annotations

获取文档中批注对象的列表,例如注释、页眉、页脚等。

AutomationControlType

获取或设置 Microsoft UI 自动化 的控件类型。

AutomationId

获取或设置唯一标识 Microsoft UI 自动化 元素的字符串。

ControlledPeers

获取可由指定的自动化元素操作的自动化元素的集合。

Culture

获取或设置自动化元素的区域设置标识符 (例如,0x0409“en-US”或英语 (美国) ) 。

DescribedBy

获取元素数组,这些元素提供有关自动化元素的详细信息。

FlowsFrom

获取自动化元素的数组,该数组建议当前自动化元素之前的读取顺序。

FlowsTo

获取自动化元素的数组,该数组建议当前自动化元素之后的读取顺序。

FullDescription

获取或设置包含元素的扩展说明文本的本地化字符串。

HeadingLevel

获取或设置UI 自动化元素的标题级别。

HelpText

获取或设置与自动化元素关联的帮助文本字符串。

IsDataValidForForm

获取或设置一个值,该值指示数据对表单是否有效。

IsDialog

获取或设置一个值,该值指示自动化元素是否为对话框窗口。

IsPeripheral

获取或设置一个值,该值指示自动化元素是否表示外围 UI。

IsRequiredForForm

获取或设置一个值,该值指示是否需要在窗体上填写元素。

ItemStatus

获取或设置元素中项的状态说明。

ItemType

获取或设置指定元素的类型说明。

LabeledBy

获取或设置包含此元素的文本标签的自动化元素。

LandmarkType

获取或设置与元素关联的 陆标类型标识符

Level

获取或设置一个从 1 开始的整数,该整数描述元素在分层或破碎的层次结构中的位置。

LiveSetting

获取或设置指定元素的实时设置值,表示实时区域的自动化元素支持该值。

LocalizedControlType

获取或设置描述自动化元素表示的控件类型的本地化文本字符串。

LocalizedLandmarkType

获取或设置描述自动化元素表示的陆标类型的本地化文本字符串。

Name

获取或设置元素UI 自动化名称。

PositionInSet

获取或设置一个从 1 开始的整数,该整数描述被视为同级元素的一组元素中的元素的序号位置。

SizeOfSet

获取或设置一组被视为同级元素的元素数。

方法

GetAcceleratorKey(DependencyObject)

获取指定 DependencyObjectAutomationProperties.AcceleratorKey 附加属性的值。

GetAccessibilityView(DependencyObject)

获取指定 DependencyObjectAutomationProperties.AccessibilityView 附加属性的值。

GetAccessKey(DependencyObject)

获取指定 DependencyObjectAutomationProperties.AccessKey 附加属性的值。

GetAnnotations(DependencyObject)

获取指定 DependencyObjectAutomationProperties.Annotations 属性的值。

GetAutomationControlType(UIElement)

获取指定 DependencyObjectAutomationProperties.AutomationControlType 附加属性的值。

GetAutomationId(DependencyObject)

获取指定 DependencyObjectAutomationProperties.AutomationId 附加属性的值。

GetControlledPeers(DependencyObject)

一种静态实用工具方法,用于从目标所有者检索受控对等方的列表。

GetCulture(DependencyObject)

获取指定 DependencyObject区域性 XAML 附加属性的值。

GetDescribedBy(DependencyObject)

获取元素的集合,这些元素提供有关指定自动化元素的详细信息。

GetFlowsFrom(DependencyObject)

获取自动化元素的列表,该列表建议指定自动化元素之前的读取顺序。

GetFlowsTo(DependencyObject)

获取自动化元素的列表,这些元素建议指定自动化元素之后的读取顺序。

GetFullDescription(DependencyObject)

获取指定 DependencyObjectAutomationProperties.FullDescription 属性的值。

GetHeadingLevel(DependencyObject)

获取指定 DependencyObjectAutomationProperties.HeadingLevel 属性的值。

GetHelpText(DependencyObject)

获取指定 DependencyObjectAutomationProperties.HelpText 附加属性的值。

GetIsDataValidForForm(DependencyObject)

获取指定 DependencyObjectAutomationProperties.IsDataValidForForm 属性的值。

GetIsDialog(DependencyObject)

获取指定 DependencyObjectAutomationProperties.IsDialog 附加属性的值。

GetIsPeripheral(DependencyObject)

获取一个布尔值,该值指示指定的元素是否表示外围 UI。

GetIsRequiredForForm(DependencyObject)

获取指定 DependencyObjectAutomationProperties.IsRequiredForForm 附加属性的值。

GetItemStatus(DependencyObject)

获取指定 DependencyObjectAutomationProperties.ItemStatus 附加属性的值。

GetItemType(DependencyObject)

获取指定 DependencyObjectAutomationProperties.ItemType 附加属性的值。

GetLabeledBy(DependencyObject)

获取指定 DependencyObjectAutomationProperties.LabeledBy 附加属性的值。

GetLandmarkType(DependencyObject)

获取指定 DependencyObject 的地标类型附加属性的值。

GetLevel(DependencyObject)

获取指定元素的 AutomationProperties.Level 属性的值。

GetLiveSetting(DependencyObject)

获取指定 DependencyObjectAutomationProperties.LiveSetting 附加属性的值。

GetLocalizedControlType(DependencyObject)

获取一个本地化字符串,该字符串指示指定控件的类型。

GetLocalizedLandmarkType(DependencyObject)

获取指定 DependencyObject 的本地化地标类型附加属性的值。

GetName(DependencyObject)

获取指定 DependencyObject的 AutomationProperties.Name 附加属性的值。

GetPositionInSet(DependencyObject)

获取指定 DependencyObjectAutomationProperties.PositionInSet 属性的值。

GetSizeOfSet(DependencyObject)

获取指定 DependencyObjectAutomationProperties.SizeOfSet 属性的值。

SetAcceleratorKey(DependencyObject, String)

设置指定的 DependencyObjectAutomationProperties.AcceleratorKey 附加属性的值。

SetAccessibilityView(DependencyObject, AccessibilityView)

为指定的 DependencyObject 设置 AutomationProperties.AccessibilityView 附加属性的值。

SetAccessKey(DependencyObject, String)

为指定的 DependencyObject 设置 AutomationProperties.AccessKey 附加属性的值。

SetAutomationControlType(UIElement, AutomationControlType)

为指定的 DependencyObject 设置 AutomationProperties.AutomationControlType 附加属性的值。

SetAutomationId(DependencyObject, String)

设置指定的 DependencyObjectAutomationProperties.AutomationId 附加属性的值。

SetCulture(DependencyObject, Int32)

设置指定 DependencyObjectCulture 附加属性的值。

SetFullDescription(DependencyObject, String)

设置描述指定 DependencyObject 的视觉外观或内容的本地化字符串。

SetHeadingLevel(DependencyObject, AutomationHeadingLevel)

为指定的 DependencyObject 设置 AutomationProperties.HeadingLevel 属性的值。

SetHelpText(DependencyObject, String)

设置指定的 DependencyObjectAutomationProperties.HelpText 附加属性的值。

SetIsDataValidForForm(DependencyObject, Boolean)

设置一个布尔值,该值指示输入的值或所选值对于与指定元素关联的表单规则是否有效。

SetIsDialog(DependencyObject, Boolean)

设置一个布尔值,该值指示是否应将指定的元素标识为对话框窗口。

SetIsPeripheral(DependencyObject, Boolean)

设置一个布尔值,该值指示指定的元素是否表示外围 UI。

SetIsRequiredForForm(DependencyObject, Boolean)

设置指定 DependencyObjectAutomationProperties.IsRequiredForForm 附加属性的值。

SetItemStatus(DependencyObject, String)

设置指定的 DependencyObjectAutomationProperties.ItemStatus 附加属性的值。

SetItemType(DependencyObject, String)

设置指定的 DependencyObjectAutomationProperties.ItemType 附加属性的值。

SetLabeledBy(DependencyObject, UIElement)

设置指定的 DependencyObjectAutomationProperties.LabeledBy 附加属性的值。

SetLandmarkType(DependencyObject, AutomationLandmarkType)

设置指定 DependencyObject 的陆标类型附加属性的值。

SetLevel(DependencyObject, Int32)

设置指定的 DependencyObjectAutomationProperties.Level 附加属性的值。

SetLiveSetting(DependencyObject, AutomationLiveSetting)

设置指定的 DependencyObjectAutomationProperties.LiveSetting 附加属性的值。

SetLocalizedControlType(DependencyObject, String)

设置一个本地化字符串,该字符串指示指定控件的类型。

SetLocalizedLandmarkType(DependencyObject, String)

设置指定 DependencyObject 的本地化地标类型附加属性的值。

SetName(DependencyObject, String)

为指定的 DependencyObject 设置 AutomationProperties.Name 附加属性的值。

SetPositionInSet(DependencyObject, Int32)

设置指定的 DependencyObjectAutomationProperties.PositionInSet 附加属性的值。

SetSizeOfSet(DependencyObject, Int32)

设置指定的 DependencyObjectAutomationProperties.SizeOfSet 附加属性的值。

适用于

另请参阅