備註
本檔適用於想要使用 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 | 為必填項目 | 沒有 |