共用方式為


DataItem 控制件類型

本主題提供 DataItem 控件類型的Microsoft使用者介面自動化支援相關信息。

聯繫人清單中的項目是數據項控件的範例。 數據項控制項包含使用者感興趣的資訊。 它比簡單的清單專案更複雜,因為它包含更豐富的資訊。

下列各節會定義 DataItem 控件類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 使用者介面自動化需求適用於UI架構/平臺整合控制項類型和控制項模式的UI自動化支援的所有資料項控制項。

本主題包含下列各節。

一般樹狀結構

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

控件檢視 內容檢視
  • DataItem
    • 變化 (0 或更多;可在階層中結構化)
  • DataItem
    • 變化 (0 或更多;可在階層中結構化)

 

數據格中的數據項元素可以裝載各種物件,包括另一層數據項,或文字、影像或編輯控件等特定網格線專案。 如果數據項元素具有特定的物件角色,元素應該公開為特定控件類型;例如,ListItem 方格中可選取數據項的控件類型。

相關屬性

下表列出UI自動化屬性,其值或定義與DataItem控件類型特別相關。 如需 UI 自動化屬性的詳細資訊,請參閱 從 UI 自動化元素擷取屬性

UI 自動化屬性 價值 筆記
UIA_AutomationIdPropertyId 請參閱附注。 在UI自動化樹狀結構的原始檢視中,此屬性的值在所有對等專案之間必須是唯一的。
UIA_BoundingRectanglePropertyId 請參閱附注。 包含整個控件的最外框。
UIA_ClickablePointPropertyId 請參閱附注。 如果有周框,則支援 。 如果周框內的每個點都無法點選,且元素會執行特製化的點擊測試、覆寫並提供可點選的點。
UIA_ControlTypePropertyId DataItem
UIA_IsContentElementPropertyId 數據項控件必須一律為內容。
UIA_IsControlElementPropertyId 數據項控件一律必須是 控件。
UIA_IsKeyboardFocusablePropertyId 請參閱附注。 如果控件可以接收鍵盤焦點,它必須支援這個屬性。
UIA_ItemStatusPropertyId 請參閱附注。 如果控件包含動態更新的狀態,則必須支援這個屬性,以便輔助技術可以在元素的狀態變更時接收更新。
UIA_ItemTypePropertyId 請參閱附注。 這是字串值,會傳達給用戶專案所代表的基礎物件。 範例包括「媒體檔案」和「聯繫人」。
UIA_LabeledByPropertyId 數據項控件沒有靜態文字標籤。
UIA_LocalizedControlTypePropertyId 請參閱附注。 對應至 DataItem 控件類型的當地語系化字串。 預設值為 en-US 或英文 (美國) 的 「數據項」。
UIA_NamePropertyId 請參閱附注。 數據項控件一律包含使用者將辨識為專案標識碼的主要文字專案。

 

必要的控制件模式

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

控制件模式 支援 筆記
IExpandCollapseProvider 取決於 如果數據項可以展開或折疊以顯示和隱藏資訊,則必須支援 ExpandCollapse 控制項模式。
IGridItemProvider 取決於 當數據項集合位於可空間巡覽的專案對專案容器內時,數據項將支援 GridItem 控件模式。
IScrollItemProvider 取決於 所有數據項都支援在數據容器具有超過螢幕大小時,使用 ScrollItem 控件模式卷動至檢視。
ISelectionItemProvider 取決於 選取數據項的能力取決於內容。
ITableItemProvider 取決於 如果數據項包含在具有標頭專案的 DataGrid 控件類型內,它應該支援 TableItem 控件模式。
IToggleProvider 取決於 如果數據項包含可迴圈執行的狀態,它應該支援 切換 控件模式。
IValueProvider 取決於 如果數據項的主要文字可編輯,則必須支援 控件模式。

 

在大型清單中使用 DataItems

由於大型清單通常會在UI架構內虛擬化以協助效能,因此使用者介面自動化客戶端無法使用UI自動化查詢功能,以與其他專案容器中相同的方式來搜尋完整樹狀結構的內容。 客戶端應該先將專案捲動到檢視中(或展開控件以顯示所有可用選項),再從數據項存取完整的資訊集。

在數據項的UI Automation元素上呼叫 SetFocus 時,Microsoft Windows 檔案總管會成功傳回,並讓焦點設定為數據項子樹內的 [編輯] 控件。

必要事件

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

UI 自動化事件 筆記
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 屬性變更事件。
UIA_ExpandCollapseExpandCollapseStatePropertyId 屬性變更事件。 如果控件支援 ExpandCollapse 控件模式,則必須支援此事件。
UIA_Invoke_InvokedEventId 如果控件支援 Invoke 控件模式,則必須支援此事件。
UIA_IsEnabledPropertyId 屬性變更事件。 如果控件支援 IsEnabled 屬性,則必須支援這個事件。
UIA_IsOffscreenPropertyId 屬性變更事件。 如果控件支援 IsOffscreen 屬性,它就必須支援這個事件。
UIA_ItemStatusPropertyId 屬性變更事件。 如果控件支援 ItemStatus 屬性,它就必須支持這個事件。
UIA_NamePropertyId 屬性變更事件。
UIA_SelectionItem_ElementAddedToSelectionEventId 如果控件支援 SelectionItem 控件模式,則必須支援這個事件。
UIA_SelectionItem_ElementRemovedFromSelectionEventId 如果控件支援 SelectionItem 控件模式,則必須支援這個事件。
UIA_SelectionItem_ElementSelectedEventId 如果控件支援 SelectionItem 控件模式,則必須支援這個事件。
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId 屬性變更事件。 如果控件支援 切換 控件模式,它必須支援這個事件。
UIA_ValueValuePropertyId 屬性變更事件。 如果控件支援 Value 控件模式,它必須支援這個事件。

 

DataItem 控件類型範例

下圖說明清單檢視控件中的DataItem控制項類型。

使用 dataitem 控制項類型的清單檢視控件 螢幕快照

下方會顯示與數據項控件相關的UI自動化樹狀結構的控件檢視和內容檢視。 每個自動化專案的控件模式會顯示在括弧中。 Group “Contoso” 也是數據格主機控件方格的一部分。 如需較高層級網格線結構的範例,請參閱 DataGrid 控件類型

UI 自動化樹狀目錄 - 控件檢視 UI 自動化樹狀目錄 - 內容檢視
  • 群組 「Contoso」 (表格,方格)
    • DataItem “Accounts Receivable.doc” (TableItem, GridItem, SelectionItem, Invoke)
      • 影像「帳戶Receivable.doc」
      • 編輯 “Name” (TableItem, GridItem, Value “Accounts Receivable.doc”)
      • 編輯 “Date modified” (TableItem, GridItem, Value “8/25/2006 3:29 PM”)
      • 編輯 “Size” (GridItem, TableItem, Value “11.0 KB”)
    • DataItem 「帳戶Payable.doc」(TableItem、GridItem、SelectionItem、Invoke)
      • ...
  • 群組 「Contoso」 (表格,方格)
    • DataItem “Accounts Receivable.doc” (TableItem, GridItem, SelectionItem, Invoke)
      • 影像「帳戶Receivable.doc」
      • 編輯 “Name” (TableItem, GridItem, Value “Accounts Receivable.doc”)
      • 編輯 “Date modified” (TableItem, GridItem, Value “8/25/2006 3:29 PM”)
      • 編輯 “Size” (GridItem, TableItem, Value “11.0 KB”)
    • DataItem 「帳戶Payable.doc」(TableItem、GridItem、SelectionItem、Invoke)
      • ...

 

如果方格代表可選取的專案清單,則對應的可選取UI元素可以使用 ListItem 控件類型來公開,而不是DataItem控制項類型。 在上述範例中,DataItem 專案 (“Accounts Receivable.doc” 和 “Accounts Payable.doc”) 在 Group (“Contoso”) 下,可以藉由將其公開為 ListItem 控件類型來改善,因為該類型已經支援 SelectionItem 控件模式。

概念

UI 自動化控制項類型概觀

UI 自動化概觀