AutomationPeer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个基类,该基类向 Microsoft UI 自动化公开关联的所有者类的自动化对等。
public ref class AutomationPeer : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AutomationPeer : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class AutomationPeer : DependencyObject
Public Class AutomationPeer
Inherits DependencyObject
- 继承
- 派生
- 属性
注解
AutomationPeer 是一个类,它提供几乎所有 API,这些 API 最终使用 C++、C# 或 Visual Basic 将 UWP 应用的 Microsoft UI 自动化信息转发到 Microsoft UI 自动化 客户端。 典型的 Microsoft UI 自动化 客户端不会直接调用 AutomationPeer 方法。 这些客户端通常是使用其他编程模型并作为服务运行的辅助技术,并且不太可能调用Windows 运行时方法。 但是,Windows 运行时中的一般 Microsoft UI 自动化支持使用 Microsoft UI 自动化 框架的提供程序端转发所有这些信息。 Microsoft UI 自动化的任何客户端都可以使用 C++、C# 或 Visual Basic 与 UWP 应用的代表性自动化树进行交互。
触发自动化事件
AutomationPeer 类与Windows 运行时控件作者相关,因为在运行时调用 OnCreateAutomationPeer 方法后,在运行时将有一个可用的对等实例。 使用此对等方,可以通过调用 RaiseAutomationEvent 和 RaisePropertyChangedEvent 来触发自动化事件。 每当对等方所有者中的相关属性 (类) 更改时,或者需要触发事件以获取正确的自动化支持时,都会执行此操作。
在实现 OnCreateAutomationPeer 的方式过程中,自动化支持设计不会保留对你自己的对等方的句柄,因为对等方的实际创建时间没有任何保证。 相反,可以使用如下所示的代码,在控件类定义中实时为运行时自动化事件侦听器检查:
if (AutomationPeer.ListenerExists(AutomationEvents.PropertyChanged))
{
MyAutomationPeer peer =
FrameworkElementAutomationPeer.FromElement(myCtrl) as MyAutomationPeer;
if (peer != null)
{
peer.RaisePropertyChangedEvent(
RangeValuePatternIdentifiers.ValueProperty,
(double)oldValue,
(double)newValue);
}
}
AutomationPeer 派生类
AutomationPeer 位于Windows 运行时控件和相关 UI 类的所有现有对等的层次结构中。
直接派生自 AutomationPeer 的类包括:
- ItemAutomationPeer
- FrameworkElementAutomationPeerFrameworkElementAutomationPeer。 有关派生自 FrameworkElementAutomationPeer 的对等方的列表,请参阅 FrameworkElementAutomationPeer 的“备注”部分。
核心 方法
“Core”方法是执行关联 Microsoft UI 自动化客户端可调用方法的默认操作的标准实现。 可以重写任何“Core”方法,以返回自定义自动化对等中的替代值。 例如,每当调用 GetAcceleratorKey 时,将调用 GetAcceleratorKeyCore ,在调用 GetAccessKey 时调用 GetAccessKeyCore ,等等。
AutomationPeer 的基本实现返回 null。 表示项的对等方可能会将结果延迟到其容器。
构造函数
AutomationPeer() |
为 AutomationPeer 派生类提供基类初始化行为。 |
属性
Dispatcher |
始终在Windows 应用 SDK应用中返回 |
DispatcherQueue |
|
EventsSource |
获取或设置一个 AutomationPeer,它作为来自此 AutomationPeer 的所有事件的源报告给 自动化客户端。 请参阅“备注”。 |
方法
ClearValue(DependencyProperty) |
清除依赖属性的本地值。 (继承自 DependencyObject) |
GenerateRawElementProviderRuntimeId() |
为与自动化对等关联的元素生成运行时标识符。 |
GetAcceleratorKey() |
获取与UI 自动化对等方关联的 对象的快捷键组合。 |
GetAcceleratorKeyCore() |
提供 Microsoft UI 自动化 客户端调用 GetAcceleratorKey 或等效的 Microsoft UI 自动化 客户端 API 时对等的行为。 |
GetAccessKey() |
获取与自动化对等关联的元素的访问密钥。 |
GetAccessKeyCore() |
在 Microsoft UI 自动化 客户端调用 GetAccessKey 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetAnimationBaseValue(DependencyProperty) |
返回为依赖属性建立的任何基值,该基值适用于动画未处于活动状态的情况。 (继承自 DependencyObject) |
GetAnnotations() |
获取对当前自动化对等的 UI 自动化注释列表的引用。 |
GetAnnotationsCore() |
在 Microsoft UI 自动化 客户端调用 GetAnnotations 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetAutomationControlType() |
获取与UI 自动化对等方关联的元素的控件类型。 |
GetAutomationControlTypeCore() |
在 Microsoft UI 自动化 客户端调用 GetAutomationControlType 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetAutomationId() |
获取与自动化对等方关联的元素的 AutomationId 。 |
GetAutomationIdCore() |
在 Microsoft UI 自动化 客户端调用 GetAutomationId 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetBoundingRectangle() |
获取表示与自动化对等关联的元素的屏幕坐标的 Rect 对象。 |
GetBoundingRectangleCore() |
在 Microsoft UI 自动化 客户端调用 GetBoundingRectangle 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetChildren() |
获取子元素的集合,这些子元素在UI 自动化树中表示为自动化对等的直接子元素。 |
GetChildrenCore() |
在 Microsoft UI 自动化 客户端调用 GetChildren 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetClassName() |
获取与 AutomationControlType 一起使用的名称,以区分由此 AutomationPeer 表示的控件。 |
GetClassNameCore() |
在 Microsoft UI 自动化 客户端调用 GetClassName 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetClickablePoint() |
获取元素上的一个点,该点与响应鼠标单击的自动化对等方相关联。 |
GetClickablePointCore() |
在 Microsoft UI 自动化 客户端调用 GetClickablePoint 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetControlledPeers() |
在 Microsoft UI 自动化 客户端调用 GetControlledPeers 或等效的 Microsoft UI 自动化 客户端 API(例如获取由 UIA_ControllerForPropertyId 标识的属性值)时提供对等行为。 |
GetControlledPeersCore() |
获取当前自动化对等的受控对等的列表。 |
GetCulture() |
调用 GetCultureCore 以获取与自动化对等体关联的元素的区域性值。 |
GetCultureCore() |
获取与自动化对等方关联的元素的区域性值。 |
GetDescribedByCore() |
获取元素的集合,这些元素提供有关自动化元素的详细信息。 |
GetElementFromPoint(Point) |
从指定点获取元素。 |
GetElementFromPointCore(Point) |
当 Microsoft UI 自动化 客户端调用 GetElementFromPoint 或等效的 Microsoft UI 自动化 客户端 API 时,提供对等行为。 |
GetFlowsFromCore() |
在 Microsoft UI 自动化 客户端调用 AutomationProperties.GetFlowsFrom 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetFlowsToCore() |
在 Microsoft UI 自动化 客户端调用 AutomationProperties.GetFlowsTo 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetFocusedElement() |
获取当前具有焦点的元素。 |
GetFocusedElementCore() |
在 Microsoft UI 自动化 客户端调用 GetFocusedElement 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetFullDescription() |
获取一个本地化字符串,该字符串描述图像或图像控件等内容的实际视觉外观或内容。 |
GetFullDescriptionCore() |
在 Microsoft UI 自动化 客户端调用 GetFullDescription 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetHeadingLevel() |
获取与此自动化对等节点关联的 UI 自动化 元素的标题级别。 |
GetHeadingLevelCore() |
在 Microsoft UI 自动化 客户端调用 GetHeadingLevel 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetHelpText() |
获取描述与自动化同级关联的控件的功能的文本。 |
GetHelpTextCore() |
在 Microsoft UI 自动化 客户端调用 GetHelpText 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetItemStatus() |
获取可传达与此自动化同级关联的元素的可视状态的文本。 |
GetItemStatusCore() |
在 Microsoft UI 自动化 客户端调用 GetItemStatus 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetItemType() |
获取一个字符串,该字符串描述元素表示的项类型。 |
GetItemTypeCore() |
在 Microsoft UI 自动化 客户端调用 GetItemType 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetLabeledBy() |
获取面向 元素的 UIElement 的 AutomationPeer。 |
GetLabeledByCore() |
在 Microsoft UI 自动化 客户端调用 GetLabeledBy 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetLandmarkType() |
获取此自动化对等的陆标类型。 |
GetLandmarkTypeCore() |
在 Microsoft UI 自动化 客户端调用 GetLandmarkType 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetLevel() |
返回与自动化对等关联的元素的级别 (层次结构) 的从 1 开始的整数。 |
GetLevelCore() |
在 Microsoft UI 自动化 客户端调用 GetLevel 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetLiveSetting() |
获取与UI 自动化对等方关联的对象的实时设置通知行为信息。 |
GetLiveSettingCore() |
在 Microsoft UI 自动化 客户端调用 GetLiveSetting 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetLocalizedControlType() |
获取一个本地化字符串,该字符串表示与此自动化对等关联的控件的 AutomationControlType 值。 |
GetLocalizedControlTypeCore() |
在 Microsoft UI 自动化 客户端调用 GetLocalizedControlType 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetLocalizedLandmarkType() |
获取一个本地化字符串,该字符串表示与此自动化对等关联的元素的 AutomationLandmarkType 值。 |
GetLocalizedLandmarkTypeCore() |
在 Microsoft UI 自动化 客户端调用 GetLocalizedLandmarkType 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetName() |
获取描述与此自动化同级关联的元素的文本。 Microsoft UI 自动化 Name 值是大多数辅助技术通过与 Microsoft UI 自动化 框架交互来表示应用的 UI 时使用的主要标识符。 |
GetNameCore() |
在 Microsoft UI 自动化 客户端调用 GetName 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetOrientation() |
获取指示显式控件方向(如果有)的值。 |
GetOrientationCore() |
在 Microsoft UI 自动化 客户端调用 GetOrientation 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetParent() |
获取此 AutomationPeer 的父级的 AutomationPeer。 |
GetPattern(PatternInterface) |
获取与指定的 PatternInterface 关联的控件模式。 |
GetPatternCore(PatternInterface) |
在 Microsoft UI 自动化 客户端调用 GetPattern 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetPeerFromPoint(Point) |
从指定点获取 AutomationPeer 。 |
GetPeerFromPointCore(Point) |
在 Microsoft UI 自动化 客户端调用 GetPeerFromPoint 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetPositionInSet() |
返回与自动化对等关联的元素的集中序号位置的从 1 开始的整数。 |
GetPositionInSetCore() |
在 Microsoft UI 自动化 客户端调用 GetPositionInSet 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetSizeOfSet() |
返回与自动化对等关联的元素所在的集大小的从 1 开始的整数。 |
GetSizeOfSetCore() |
在 Microsoft UI 自动化 客户端调用 GetSizeOfSet 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
GetValue(DependencyProperty) |
从 DependencyObject 返回依赖属性的当前有效值。 (继承自 DependencyObject) |
HasKeyboardFocus() |
获取一个值,该值指示与此自动化同级关联的元素当前是否具有键盘焦点。 |
HasKeyboardFocusCore() |
在 Microsoft UI 自动化 客户端调用 HasKeyboardFocus 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
InvalidatePeer() |
触发对 AutomationPeer main 属性的重新计算,并在属性发生更改时向自动化客户端引发 PropertyChanged 通知。 |
IsContentElement() |
获取一个值,该值指示与此自动化对等方关联的元素是否包含向用户显示的数据。 |
IsContentElementCore() |
在 Microsoft UI 自动化 客户端调用 IsContentElement 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsControlElement() |
获取一个值,该值指示元素是被用户理解为交互式元素,还是作为 GUI 中控件逻辑结构的贡献。 |
IsControlElementCore() |
在 Microsoft UI 自动化 客户端调用 IsControlElement 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsDataValidForForm() |
获取一个布尔值,该值指示输入的值或所选值对于与自动化元素关联的表单规则是否有效。 |
IsDataValidForFormCore() |
在 Microsoft UI 自动化 客户端访问 IsDataValidForForm 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsDialog() |
获取一个值,该值指示与此自动化对等关联的元素是否为对话框窗口。 |
IsDialogCore() |
在 Microsoft UI 自动化 客户端调用 IsDialog 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsEnabled() |
获取一个值,该值指示与此自动化同级关联的元素是否支持交互。 |
IsEnabledCore() |
在 Microsoft UI 自动化 客户端调用 IsEnabled 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsKeyboardFocusable() |
获取一个值,该值指示此元素是否可以接受键盘焦点。 |
IsKeyboardFocusableCore() |
在 Microsoft UI 自动化 客户端调用 IsKeyboardFocusable 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsOffscreen() |
获取一个值,该值指示元素是否不在屏幕上。 |
IsOffscreenCore() |
在 Microsoft UI 自动化 客户端调用 IsOffscreen 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsPassword() |
获取一个值,该值指示元素是否包含敏感内容。 |
IsPasswordCore() |
在 Microsoft UI 自动化 客户端调用 IsPassword 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
IsPeripheral() |
获取一个布尔值,该值指示自动化元素是否表示外围 UI。 |
IsPeripheralCore() |
提供 Microsoft UI 自动化 客户端访问 IsPeripheral 或等效的 Microsoft UI 自动化 客户端 API 时对等的行为。 |
IsRequiredForForm() |
获取一个值,该值指示是否必须在窗体中完成与此同级关联的元素。 |
IsRequiredForFormCore() |
在 Microsoft UI 自动化 客户端调用 IsRequiredForForm 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
ListenerExists(AutomationEvents) |
获取一个值,该值指示 Microsoft UI 自动化是否报告客户端正在侦听指定的事件。 |
Navigate(AutomationNavigationDirection) |
获取 UI 自动化树中指定方向的元素。 |
NavigateCore(AutomationNavigationDirection) |
在 Microsoft UI 自动化 客户端调用 Navigate 或等效的 Microsoft UI 自动化 客户端 API 时提供对等行为。 |
PeerFromProvider(IRawElementProviderSimple) |
获取指定 IRawElementProviderSimple 代理的 AutomationPeer。 |
ProviderFromPeer(AutomationPeer) |
获取指定 AutomationPeer 的 IRawElementProviderSimple 代理。 |
RaiseAutomationEvent(AutomationEvents) |
引发自动化事件。 |
RaiseNotificationEvent(AutomationNotificationKind, AutomationNotificationProcessing, String, String) |
启动通知事件。 |
RaisePropertyChangedEvent(AutomationProperty, Object, Object) |
引发事件以通知自动化客户端已更改的属性值。 |
RaiseStructureChangedEvent(AutomationStructureChangeType, AutomationPeer) |
引发事件以通知 Microsoft UI 自动化核心树结构已更改。 |
RaiseTextEditTextChangedEvent(AutomationTextEditChangeType, IVectorView<String>) |
引发事件以通知 Microsoft UI 自动化核心文本控件已以编程方式更改文本。 |
ReadLocalValue(DependencyProperty) |
如果设置了本地值,则返回依赖属性的本地值。 (继承自 DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
注册通知函数,用于侦听此 DependencyObject 实例上对特定 DependencyProperty 的更改。 (继承自 DependencyObject) |
SetFocus() |
对与此自动化同级关联的元素设置键盘焦点。 |
SetFocusCore() |
在 Microsoft UI 自动化 客户端调用 SetFocus 或等效的 Microsoft UI 自动化客户端 API 时提供对等行为。 |
SetParent(AutomationPeer) |
设置此 AutomationPeer 的父级 AutomationPeer。 |
SetValue(DependencyProperty, Object) |
设置 DependencyObject 上依赖属性的本地值。 (继承自 DependencyObject) |
ShowContextMenu() |
显示所有者元素的可用上下文菜单。 |
ShowContextMenuCore() |
在 Microsoft UI 自动化 客户端调用 ShowContextMenu 或等效的 Microsoft UI 自动化客户端 API 时提供对等方的行为。 |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
取消以前通过调用 RegisterPropertyChangedCallback 注册的更改通知。 (继承自 DependencyObject) |