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 | 必要 | 無 |