共用方式為


表格控制類型的UI自動化支援功能

備註

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

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

表格控制包含文字的列和行,以及選擇性地包含列標題和行標題。

下列各節會定義數據表控件類型所需的UI自動化樹狀結構、屬性、控件模式和事件。 使用者介面自動化需求適用於所有數據表控件,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。

必要的 UI 自動化樹狀結構

下表描述與數據表控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀

控制項檢視 內容檢視


- 標頭 (0 或 1)
- 文字 (0 或 1)
- 各種控制件 (0 或更多)


- 文字 (0 或更多)
- 各種控制件 (0 或更多)

如果表格控制項具有列或行標頭,則必須在 UI 自動化樹的控制檢視中顯示它們。 內容檢視不需要公開此資訊,因為它可以使用 TablePattern 來存取。

必要的UI自動化屬性

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

UI 自動化屬性 價值觀 註釋
AutomationIdProperty 請參閱備註。 這個屬性的值在應用程式中的所有控件中必須是唯一的。
BoundingRectangleProperty 請參閱備註。 包含整個控制項的最外層矩形。
ClickablePointProperty 請參閱備註。 如果有周框,則支援 。 如果周框內的每個點都無法點選,而且您執行特製化的點擊測試,則覆寫並提供可點選的點。
IsKeyboardFocusableProperty 請參閱備註。 如果控制項可接收鍵盤焦點,就必定支援此屬性。
NameProperty 請參閱備註。 數據表控件通常會從靜態文字標籤取得其名稱。 如果沒有靜態文字標籤,您必須指派一律可用來說明數據表用途的 Name 屬性。
LabeledByProperty 請參閱備註。 如果有靜態文字標籤,此屬性應該公開控件自動化項目的參考。
ControlTypeProperty 此值與所有使用者介面架構的值相同。
LocalizedControlTypeProperty 「資料表」 對應於表格控制類型的本地化字串。
HelpTextProperty 請參閱備註。 如果無法透過存取 NameProperty 來充分說明資料表用途的詳細資訊,應該透過此屬性公開。
IsContentElementProperty 表格控件必須始終保持內容。
IsControlElementProperty 表格控件必須始終是控件。

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

下表列出數據表控件需要支援的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀

控制件模式 支援 註釋
IGridProvider 是的 表格控件一律支援此控制項模式,因為它包含的項目具有以網格形式呈現的資料。
IGridItemProvider 是(在有子物件時需要) 數據表的內部對象應該同時支援 GridItem 和 TableItem 控制項模式。 除非數據表是另一個數據表的一部分,否則數據表本身不需要支援 GridItem 或 TableItem 控制件模式。
ITableProvider 是的 數據表控件一律具有與內容相關聯的標頭的功能。
ITableItemProvider 是(在有子物件時需要) 數據表的內部對象應該同時支援 GridItem 和 TableItem 控制項模式。 除非數據表是另一個數據表的一部分,否則數據表本身不需要支援 GridItem 或 TableItem 控制件模式。

必要的UI自動化事件

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

UI 自動化事件 支援 註釋
BoundingRectangleProperty 屬性變更事件。 為必填項目 沒有
IsOffscreenProperty 屬性變更事件。 為必填項目 沒有
IsEnabledProperty 屬性變更事件。 為必填項目 沒有
AutomationFocusChangedEvent 為必填項目 沒有
StructureChangedEvent 為必填項目 沒有

另請參閱