實作 UI 自動化 Grid 控制項模式
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本主題簡介實作 IGridProvider的方針和慣例,包括屬性、方法和事件的相關資訊。 其他參考的連結會在概觀的結尾列出。
GridPattern 控制項模式是用以支援當作子項目集合的容器使用的控制項。 此項目的子系必須實作 IGridItemProvider ,並組合管理成資料列與資料行可周遊的二維邏輯座標系統。 如需實作此控制項模式的控制項範例,請參閱 Control Pattern Mapping for UI Automation Clients。
實作方針和慣例
實作方格控制項模式時,請注意下列方針和慣例:
方格座標是從左上角 (或根據地區為右上儲存格) 以零為起始,座標為 (0, 0)。
如果儲存格是空的,仍必須傳回使用者介面自動化項目,才能支援該儲存格的 ContainingGrid 屬性。 當子項目在方格中的配置類似不完全陣列 (請參閱以下範例),就可能發生這種情形。
座標是空的方格控制項範例
單一項目的方格仍必須實作 IGridProvider ,才能在邏輯上視為是方格。 方格中的子項目數為多少都沒關係。
根據提供者實作而定,隱藏資料列和資料行可能會載入到 UI 自動化樹狀結構,因此會反映在 RowCount 和 ColumnCount 屬性。 如果隱藏資料列和資料行未載入,則應不會列入計數。
IGridProvider 不會啟用方格的使用中操作,而必須實作 ITransformProvider 才能啟用此功能。
使用 StructureChangedEventHandler 接聽方格的結構或配置變更,例如新增、移除或合併儲存格。
使用 AutomationFocusChangedEventHandler 追蹤方格項目或儲存格的周遊情形。
IGridProvider 的必要成員
以下是實作 IGridProvider 介面的必要屬性和方法。
必要成員 | 類型 | 備註 |
---|---|---|
RowCount | 屬性 | 無 |
ColumnCount | 屬性 | 無 |
GetItem | 方法 | 無 |
此控制項模式沒有任何相關聯的事件。
例外狀況
提供者必須擲回下列例外狀況。
例外狀況類型 | Condition |
---|---|
ArgumentOutOfRangeException | GetItem 如果要求的資料列座標大於 RowCount 或資料行座標大於 ColumnCount。 |
ArgumentOutOfRangeException | GetItem 如果要求的資料列或資料行座標小於零。 |