AutomationPeer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供基類,將相關聯擁有者類別的自動化對等公開給 Microsoft 使用者介面自動化。
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,最終會使用 C++、C# 或 Visual Basic 將 UWP 應用程式的信息轉 使用者介面自動化 送給 Microsoft 使用者介面自動化 用戶端。 典型的 Microsoft 使用者介面自動化 用戶端不會直接呼叫 AutomationPeer 方法。 這些用戶端通常是使用其他程序設計模型做為服務的輔助技術,而且不太可能呼叫 Windows 執行階段 方法。 但是,Windows 執行階段 中的一般 Microsoft 使用者介面自動化 支援會使用 Microsoft 使用者介面自動化 架構的提供者端轉送所有此資訊。 Microsoft 使用者介面自動化 的任何用戶端都可以使用 C++、C# 或 Visual Basic 與 UWP 應用程式的代表性自動化樹狀結構互動。
引發自動化事件
AutomationPeer 類別與 Windows 執行階段 控件作者有關,因為運行時間會在運行時間叫用 OnCreateAutomationPeer 方法之後提供對等實例。 使用此對等,您可以呼叫 RaiseAutomationEvent 和 RaisePropertyChangedEvent 來引發自動化事件。 每當對等擁有者中的相關屬性 (類別) 變更時,或引發事件時,就能執行此動作,以取得正確的自動化支援。
自動化支持設計不會在實作 OnCreateAutomationPeer 的方式中保留您自己的對等句柄,因為實際上建立對等時沒有任何保證。 相反地,您可以使用如下所示的程式代碼,在控件類別定義 Just-In-Time 內檢查運行時間自動化事件接聽程式:
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 的一節。
核心 方法
「核心」方法是執行相關聯 Microsoft 使用者介面自動化 用戶端可呼叫方法的預設動作的標準實作。 您可以覆寫任何「核心」方法,以傳回自定義自動化對等中的替代值。 例如,每當呼叫 GetAcceleratorKey 時,就會叫用 GetAcceleratorKey、在任何呼叫 GetAccessKey 時叫用 GetAccessKeyCore,依此類推。
AutomationPeer 的基底實作會傳回 null。 代表專案的對等可能會延遲結果至其容器。
建構函式
AutomationPeer() |
提供 AutomationPeer 衍生類別的基類初始化行為。 |
屬性
Dispatcher |
一律會在 Windows 應用程式 SDK 應用程式中傳回 |
DispatcherQueue |
|
EventsSource |
取得或設定 向自動化客戶端報告的 AutomationPeer ,做為來自這個 AutomationPeer 之所有事件的來源。 請參閱<備註>。 |
方法
ClearValue(DependencyProperty) |
清除相依性屬性的本機值。 (繼承來源 DependencyObject) |
GenerateRawElementProviderRuntimeId() |
為與自動化對等相關聯的專案產生運行時間標識碼。 |
GetAcceleratorKey() |
取得與 使用者介面自動化 對等相關聯之物件的快捷鍵組合。 |
GetAcceleratorKeyCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetAcceleratorKey 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetAccessKey() |
取得與自動化對等相關聯之項目的存取金鑰。 |
GetAccessKeyCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetAccessKey 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetAnimationBaseValue(DependencyProperty) |
傳回針對相依性屬性所建立的任何基底值,如果動畫未使用中,則會套用。 (繼承來源 DependencyObject) |
GetAnnotations() |
取得目前自動化對等使用者介面自動化註釋清單的參考。 |
GetAnnotationsCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetAnnotations 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetAutomationControlType() |
取得與 使用者介面自動化 對等相關聯之專案的控件類型。 |
GetAutomationControlTypeCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetAutomationControlType 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetAutomationId() |
取得與自動化對等相關聯之專案的 AutomationId 。 |
GetAutomationIdCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetAutomationId 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetBoundingRectangle() |
取得 Rect 物件,表示與自動化對等相關聯之專案的螢幕座標。 |
GetBoundingRectangleCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetBoundingRectangle 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetChildren() |
取得 使用者介面自動化 樹狀結構中表示為自動化對等之直接子專案的子專案集合。 |
GetChildrenCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetChildren 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetClassName() |
取得與 AutomationControlType 搭配使用的名稱,以區分這個 AutomationPeer 所代表的控件。 |
GetClassNameCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetClassName 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetClickablePoint() |
取得專案上的點,該專案與回應滑鼠按兩下的自動化對等相關聯。 |
GetClickablePointCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetClickablePoint 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetControlledPeers() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetControlledPeers 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為,例如取得UIA_ControllerForPropertyId所識別的屬性值。 |
GetControlledPeersCore() |
取得目前自動化對等的受控制對等清單。 |
GetCulture() |
呼叫 GetCultureCore ,以取得與自動化對等相關聯之專案的文化特性值。 |
GetCultureCore() |
取得與自動化對等相關聯之專案的文化特性值。 |
GetDescribedByCore() |
取得專案集合,提供自動化專案的詳細資訊。 |
GetElementFromPoint(Point) |
從指定的點取得專案。 |
GetElementFromPointCore(Point) |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetElementFromPoint 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetFlowsFromCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 AutomationProperties.GetFlowsFrom 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetFlowsToCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 AutomationProperties.GetFlowsTo 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetFocusedElement() |
取得目前具有焦點的專案。 |
GetFocusedElementCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetFocusedElement 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetFullDescription() |
取得當地語系化字串,描述影像或影像控制項等專案的實際視覺外觀或內容。 |
GetFullDescriptionCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetFullDescription 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetHeadingLevel() |
取得與這個自動化對等相關聯之 使用者介面自動化 項目的標題層級。 |
GetHeadingLevelCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetHeadingLevel 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetHelpText() |
取得文字,這個文字描述與自動化對等個體關聯之控制項的功能。 |
GetHelpTextCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetHelpText 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetItemStatus() |
取得文字,這個文字表示與此自動化對等個體關聯之項目的視覺化狀態。 |
GetItemStatusCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetItemStatus 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetItemType() |
取得字串,描述專案所代表的項目種類。 |
GetItemTypeCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetItemType 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetLabeledBy() |
取得以 項目為目標之 UIElement 的 AutomationPeer。 |
GetLabeledByCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetLabeledBy 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetLandmarkType() |
取得這個自動化對等的地標類型。 |
GetLandmarkTypeCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetLandmarkType 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetLevel() |
傳回與自動化對等相關聯之專案之層級 (階層) 以 1 起始的整數。 |
GetLevelCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetLevel 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetLiveSetting() |
取得與 使用者介面自動化 對等相關聯之 對象的即時設定通知行為資訊。 |
GetLiveSettingCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetLiveSetting 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetLocalizedControlType() |
取得當地語系化字串,表示與這個自動化對等相關聯之控件的 AutomationControlType 值。 |
GetLocalizedControlTypeCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetLocalizedControlType 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetLocalizedLandmarkType() |
取得當地語系化字串,表示與此自動化對等相關聯之專案的 AutomationLandmarkType 值。 |
GetLocalizedLandmarkTypeCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetLocalizedLandmarkType 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetName() |
取得文字,這個文字描述與此自動化對等個體關聯的項目。 Microsoft 使用者介面自動化 Name 值是大部分輔助技術透過與 Microsoft 使用者介面自動化 架構互動來代表應用程式 UI 時所使用的主要標識符。 |
GetNameCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetName 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetOrientation() |
取得值,這個值表示明確的控制項方向 (若有的話)。 |
GetOrientationCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetOrientation 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetParent() |
取得這個 AutomationPeer 的父系 AutomationPeer。 |
GetPattern(PatternInterface) |
取得與指定 PatternInterface 相關聯的控件模式。 |
GetPatternCore(PatternInterface) |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetPattern 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetPeerFromPoint(Point) |
從指定的點取得 AutomationPeer 。 |
GetPeerFromPointCore(Point) |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetPeerFromPoint 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetPositionInSet() |
針對與自動化對等相關聯的專案,傳回集合中序數位置的 1 型整數。 |
GetPositionInSetCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetPositionInSet 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetSizeOfSet() |
傳回與自動化對等相關聯之專案所在集合大小的 1 型整數。 |
GetSizeOfSetCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 GetSizeOfSet 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
GetValue(DependencyProperty) |
從 DependencyObject 傳回相依性屬性的目前有效值。 (繼承來源 DependencyObject) |
HasKeyboardFocus() |
取得值,這個值表示與這個自動化對等個體相關聯的項目目前是否有鍵盤焦點。 |
HasKeyboardFocusCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 HasKeyboardFocus 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
InvalidatePeer() |
觸發 AutomationPeer 主要屬性的重新計算,並在屬性變更時對自動化客戶端引發 PropertyChanged 通知。 |
IsContentElement() |
取得值,這個值表示與此 Automation Peer 相關聯的項目是否包含呈現給使用者的資料。 |
IsContentElementCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsContentElement 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsControlElement() |
取得值,這個值表示使用者是否將專案視為互動式或參與 GUI 中控件的邏輯結構。 |
IsControlElementCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsControlElement 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsDataValidForForm() |
取得布爾值,指出輸入或選取的值是否對與自動化專案相關聯的表單規則有效。 |
IsDataValidForFormCore() |
當 Microsoft 使用者介面自動化 用戶端存取 IsDataValidForForm 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsDialog() |
取得值,這個值表示與此自動化對等相關聯的專案是否為對話框視窗。 |
IsDialogCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsDialog 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsEnabled() |
取得值,這個值表示與此自動化對等個體關聯的項目是否支援互動。 |
IsEnabledCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsEnabled 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsKeyboardFocusable() |
取得值,這個值表示項目是否可以接受鍵盤焦點。 |
IsKeyboardFocusableCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsKeyboardFocusable 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsOffscreen() |
取得值,這個值表示項目是否不在螢幕上。 |
IsOffscreenCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsOffscreen 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsPassword() |
取得值,這個值表示項目是否包含敏感性內容。 |
IsPasswordCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsPassword 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsPeripheral() |
取得布爾值,指出自動化專案是否代表周邊UI。 |
IsPeripheralCore() |
當 Microsoft 使用者介面自動化 用戶端存取 IsPeripheral 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
IsRequiredForForm() |
取得值,這個值表示與此對等個體關聯的項目在表單上是否為必填項。 |
IsRequiredForFormCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 IsRequiredForForm 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
ListenerExists(AutomationEvents) |
取得值,指出 Microsoft 使用者介面自動化 是否報告用戶端正在接聽指定的事件。 |
Navigate(AutomationNavigationDirection) |
取得UI自動化樹狀結構內指定方向的專案。 |
NavigateCore(AutomationNavigationDirection) |
當 Microsoft 使用者介面自動化 用戶端呼叫 Navigate 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
PeerFromProvider(IRawElementProviderSimple) |
取得指定之 IRawElementProviderSimple Proxy 的 AutomationPeer。 |
ProviderFromPeer(AutomationPeer) |
取得指定 AutomationPeer 的 IRawElementProviderSimple Proxy。 |
RaiseAutomationEvent(AutomationEvents) |
引發自動化事件。 |
RaiseNotificationEvent(AutomationNotificationKind, AutomationNotificationProcessing, String, String) |
起始通知事件。 |
RaisePropertyChangedEvent(AutomationProperty, Object, Object) |
引發事件,通知自動化用戶端已變更屬性值。 |
RaiseStructureChangedEvent(AutomationStructureChangeType, AutomationPeer) |
引發事件,通知 Microsoft 使用者介面自動化 核心樹狀結構已變更。 |
RaiseTextEditTextChangedEvent(AutomationTextEditChangeType, IVectorView<String>) |
引發事件,通知 Microsoft 使用者介面自動化 核心文字控件已以程序設計方式變更文字。 |
ReadLocalValue(DependencyProperty) |
如果已設定本機值,則傳回相依性屬性的本機值。 (繼承來源 DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
註冊通知函式,以接聽此 DependencyObject 實例上特定 DependencyProperty 的變更。 (繼承來源 DependencyObject) |
SetFocus() |
對與此自動化對等個體關聯的項目設定鍵盤焦點。 |
SetFocusCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 SetFocus 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
SetParent(AutomationPeer) |
設定 AutomationPeer ,這是這個 AutomationPeer 的父代。 |
SetValue(DependencyProperty, Object) |
在 DependencyObject 上設定相依性屬性的本機值。 (繼承來源 DependencyObject) |
ShowContextMenu() |
顯示擁有者元素的可用操作功能表。 |
ShowContextMenuCore() |
當 Microsoft 使用者介面自動化 用戶端呼叫 ShowContextMenu 或對等的 Microsoft 使用者介面自動化 用戶端 API 時,提供對等的行為。 |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
取消先前透過呼叫 RegisterPropertyChangedCallback 註冊的變更通知。 (繼承來源 DependencyObject) |