Table 控制項類型的 UI 自動化支援

注意

本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化

本主題提供表格控制項型別的 UI 自動化支援相關資訊。 在 UI 自動化中,控制項類型是一組控制項條件,控制項必須符合條件才能使用 ControlTypeProperty 屬性。 這些條件包括 UI 自動化樹狀結構、UI 自動化屬性值和控制項模式的特定指導方針。

表格控制項包含文字資料列和資料行,也可能包含資料列標頭和資料行標頭。

下列章節會定義表格控制項型別所需的樹狀結構、屬性、控制項模式與事件。 UI 自動化需求適用於所有表格控制項,無論是 Windows Presentation Foundation (WPF),Win32 或 Windows Forms 皆然。

必要的使用者介面自動化樹狀結構

下表描述與表格控制項相關的 UI 自動化樹的內容檢視與控制項檢視,並說明各檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀

控制項檢視 內容檢視
Table

- 標題 (0 或 1)
- 文字 (0 或 1)
- 各類控制項 (0 或更多)
Table

- 文字 (0 或更多)
- 各類控制項 (0 或更多)

如果資料表控制項具有資料列或資料行標頭,這些標頭必須顯示於使用者介面自動化樹狀中的控制項檢視中。 內容檢視不需要公開此資訊,因為使用 TablePattern 即可加以存取。

必要的使用者介面自動化屬性

下表列出的 UI 自動化屬性,其值或定義與表格控制項特別有關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性

使用者介面自動化屬性 備註
AutomationIdProperty 請參閱備註。 此屬性的值在應用程式中的所有控制項都不得重複。
BoundingRectangleProperty 請參閱備註。 包含整個控制項的最外層矩形。
ClickablePointProperty 請參閱備註。 如果有週框即受支援。 如果週框中沒有任何可點選的點,而且您執行的是特殊化點擊測試,則會覆寫並提供可點選的點。
IsKeyboardFocusableProperty 請參閱備註。 如果控制項可接收鍵盤焦點,就必定支援此屬性。
NameProperty 請參閱備註。 表格控制項的名稱通常來自靜態文字標籤。 如果沒有任何靜態文字標籤,您必須指派一律可用的 Name 屬性,以解釋該資料表的用途。
LabeledByProperty 請參閱備註。 如果有靜態文字標籤,則此屬性應公開對控制項之自動化項目的參考。
ControlTypeProperty Table 此值與所有使用者介面架構的值相同。
LocalizedControlTypeProperty 「資料表」 對應到表格控制項類型的當地語系化字串。
HelpTextProperty 請參閱備註。 如果存取 NameProperty 無法充分解釋資料表的用途,則必須透過此屬性公開其詳細資料。
IsContentElementProperty True 表格控制項必須一律為內容。
IsControlElementProperty True 表格控制項必須一律為控制項。

必要的使用者介面自動化控制項模式

下表列示表格控制項必須支援的 UI 自動化控制項模式。 如需控制項模式的詳細資訊,請參閱 UI Automation Control Patterns Overview

控制項模式 支援 備註
IGridProvider Yes 表格控制項一律支援此控制項模式,因為其中包含的項目具有以格線顯示的資料。
IGridItemProvider 是 (必須配合子物件使用) 資料表的內部物件應同時支援 GridItem 和 TableItem 控制項模式。 除非此資料表是另一個資料表的一部份,否則資料表本身不需要支援 GridItem 或 TableItem 控制項模式。
ITableProvider Yes 資料表控制項一律有能力建立標頭與內容的關聯。
ITableItemProvider 是 (必須配合子物件使用) 資料表的內部物件應同時支援 GridItem 和 TableItem 控制項模式。 除非此資料表是另一個資料表的一部份,否則資料表本身不需要支援 GridItem 或 TableItem 控制項模式。

必要的使用者介面自動化事件

下表列示所有表格控制項都必須支援的 UI 自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview

UI 自動化事件 支援 備註
BoundingRectangleProperty 屬性變更事件。 必要
IsOffscreenProperty 屬性變更事件。 必要
IsEnabledProperty 屬性變更事件。 必要
AutomationFocusChangedEvent 必要
StructureChangedEvent 必要

另請參閱