備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
使用者介面自動化提供者會在MICROSOFT UI 自動化元素上公開屬性。 這些屬性可讓UI自動化用戶端應用程式探索使用者介面 (UI) 部分的相關信息,特別是控制件,包括靜態和動態數據。
本節提供Microsoft用戶介面自動化屬性的廣泛概觀。 下列主題提供更具體的資訊:
屬性識別項
每個屬性都會以編號和名稱來識別。 屬性的名稱僅用於偵錯和診斷。 服務提供者會使用數值標識碼來識別傳入的資產請求。 不過,用戶端應用程式只會使用 AutomationProperty,其中包含數字和名稱,以識別想擷取的屬性。
AutomationProperty 代表特定屬性的物件可作為各種類別中的欄位使用。 基於安全性考慮,使用者介面自動化提供者會從包含在 Uiautomationtypes.dll的個別類別集中取得這些物件。
下表依包含 AutomationProperty標識碼的類別分類屬性。
| 屬性種類 | 客戶端會從某處取得標識碼 | 提供者從某處取得標識碼 |
|---|---|---|
| 所有元素通用的屬性(請參閱下表) | AutomationElement | AutomationElementIdentifiers |
| 對接視窗的位置 | DockPattern | DockPatternIdentifiers |
| 可以展開和折疊的項目狀態 | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
| 方格中項目的屬性 | GridItemPattern | GridItemPatternIdentifiers |
| 網格線的屬性 | GridPattern | GridPatternIdentifiers |
| 具有多個檢視的元素當前和支援的檢視 | MultipleViewPattern | MultipleViewPatternIdentifiers |
| 在值範圍內移動的項目屬性,例如滑桿 | RangeValuePattern | RangeValuePatternIdentifiers |
| 捲動視窗的屬性 | ScrollPattern | ScrollPatternIdentifiers |
| 可供選擇的項目的狀態和容器,如清單中所示 | SelectionItemPattern | SelectionItemPatternIdentifiers |
| 包含選取項目的控件屬性 | SelectionPattern | SelectionPatternIdentifiers |
| 表格中項目的列和行標題 | TableItemPattern | TableItemPatternIdentifiers |
| 表格的列和行標題及方向 | TablePattern | TablePatternIdentifiers |
| 切換控件的狀態 | TogglePattern | TogglePatternIdentifiers |
| 可移動、旋轉或調整大小的元素功能 | TransformPattern | TransformPatternIdentifiers |
| 具有值的元素之值和讀取/寫入功能 | ValuePattern | ValuePatternIdentifiers |
| 視窗的功能和狀態 | WindowPattern | WindowPatternIdentifiers |
依類別列出屬性
下表將屬性分類,其標識碼可在AutomationElement和AutomationElementIdentifiers中找到。 這些屬性適用於所有控制件。 除了其中一些變數,在提供者應用程式的存留期內可能都是靜態的;大部分的動態屬性都與控件模式相關聯。
除了和GetCurrentPropertyValue之外,GetCachedPropertyValue資料行還會列出每個屬性的其他任何存取子。 如需在用戶端應用程式中取得屬性的詳細資訊,請參閱 用戶端的UI自動化屬性。
備註
如需每個屬性的特定資訊,請遵循 [屬性存取 ] 資料行中的連結。
顯示特性
| 屬性標識碼 | 屬性存取 |
|---|---|
| BoundingRectangleProperty | BoundingRectangle |
| CultureProperty | n/a |
| HelpTextProperty | HelpText |
| IsOffscreenProperty | IsOffscreen |
| OrientationProperty | Orientation |
項目類型
識別
互動
模式支持
其他
| 屬性標識碼 | 屬性存取 |
|---|---|
| IsRequiredForFormProperty | IsRequiredForForm |
| IsPasswordProperty | IsPassword |
| ItemStatusProperty | ItemStatus |
本地化
使用者介面自動化提供者應該以作系統的語言呈現下列屬性:
屬性和事件
與UI自動化中的屬性緊密系結是屬性變更事件的概念。 針對動態屬性,用戶端應用程式需要知道屬性值已變更的方法,以便更新其資訊快取,或以其他方式回應新資訊。
當 UI 中的某個項目變更時,提供者會引發事件。 例如,如果選取或清除複選框,提供者的 Toggle 模式實作就會引發屬性變更事件。 提供者可以根據任何用戶端是否監聽事件或監聽特定事件來選擇性地引發事件。
並非所有屬性變更都會引發事件,這完全由項目的使用者介面自動化提供者實作所決定。 例如,清單框的標準 Proxy 提供者不會在當 SelectionProperty 改變時引發事件。 在這種情況下,應用程式必須接聽 ElementSelectedEvent。
客戶端透過訂閱來監聽事件。 訂閱事件意味著建立委派方法來處理事件,然後將這些方法連同要處理的特定事件一起傳遞給使用者介面自動化。 對於屬性變更事件,用戶端必須實作 AutomationPropertyChangedEventHandler。