共用方式為


ListItem 控制項型別的 UI 自動化支援

注意事項注意事項

這份文件適用於想要使用 System.Windows.Automation 命名空間中定義之 Managed UI Automation 類別的 .NET Framework 開發人員。如需 UI Automation 的最新資訊,請參閱 Windows Automation API:使用者介面自動化 (英文)。

本主題提供 ListItem 控制項型別之 UI Automation支援的相關資訊。 在 UI Automation中,控制項型別是一組條件;控制項必須符合這些條件才能使用 ControlTypeProperty 屬性。 這些條件包括 UI Automation樹狀結構、UI Automation屬性值和控制項模式的特定方針。

清單項目控制項是實作 ListItem 控制項型別的控制項範例。

下列章節定義 ListItem 控制項型別必要的 UI Automation樹狀結構、屬性、控制項模式和事件。 UI Automation需求適用於所有的清單控制項,不論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。

這個主題包含下列章節。

  • 必要的 UI 自動化樹狀結構
  • 必要的 UI 自動化屬性
  • 必要的 UI 自動化控制項模式
  • 必要的 UI 自動化事件
  • 相關主題

必要的 UI 自動化樹狀結構

下表說明與清單項目控制項相關之 UI Automation樹狀目錄的控制項檢視和內容檢視,並說明每個檢視可以包含的內容。 如需 UI Automation樹狀結構的詳細資訊,請參閱 UI 自動化樹狀目錄概觀

控制項檢視

內容檢視

ListItem

  • Image (0 或更多)

  • Text (0 或更多)

  • Edit (0 或更多)

ListItem

在 UI Automation樹狀目錄的內容檢視中,清單項目控制項的子項必須一律為 "0"。 若控制項的結構是在清單項目底下還有其他項目,則該控制項必須符合 TreeItem 控制項型別的 UI 自動化支援控制項型別的需求。

必要的 UI 自動化屬性

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

UI Automation屬性

備註

AutomationIdProperty

請參閱備註

這個屬性的值在應用程式的所有控制項間必須是唯一的值。

BoundingRectangleProperty

請參閱備註

這個屬性的值應包含清單項目的影像區域和文字內容。

ClickablePointProperty

相依項

如果清單控制項有可按的點 (可以按一下讓清單取得焦點的點),則該點必須透過此屬性公開。 如果清單控制項被子代清單項目完全覆蓋,則會引發 NoClickablePointException,表示用戶端必須從清單控制項內的項目查詢是否有可按的點。

NameProperty

請參閱備註

清單項目控制項的名稱屬性值取自於項目的文字內容。

LabeledByProperty

請參閱備註

如果有靜態文字標籤,那麼這個屬性必須公開該控制項的參考。

ControlTypeProperty

ListItem

所有 UI 架構的這個值全都相同。

LocalizedControlTypeProperty

"list item"

對應 ListItem 控制項型別的當地語系化字串。

IsContentElementProperty

True

清單控制項一律包含在 UI Automation樹狀結構的內容檢視中。

IsControlElementProperty

True

清單控制項一律包含在 UI Automation樹狀結構的控制項檢視中。

IsKeyboardFocusableProperty

True

如果容器可以接受鍵盤輸入,則此屬性值應為 true。

HelpTextProperty

""

清單控制項的說明文字應解釋,為什麼會要求使用者從選項清單中選擇選項,而這通常也是透過工具提示顯示的資訊類型。 例如,「選取項目以設定顯示器的解析度。」

ItemTypeProperty

相依項

表示基礎物件的清單項目控制項應公開此屬性。 這些清單項目控制項通常會有相關聯的圖示,可讓使用者將控制項與基礎物件建立關聯。

IsOffscreenProperty

相依項

此屬性必須傳回值,表示清單項目目前是否捲動到實作 Scroll 控制項模式之父容器的檢視範圍內。

必要的 UI 自動化控制項模式

下表列出清單項目控制項支援所需的 UI Automation控制項模式。 如需控制項模式的詳細資訊,請參閱 UI 自動化控制項模式概觀

控制項模式

支援

備註

ISelectionItemProvider

清單項目控制項必須實作此控制項模式。 這可讓清單項目控制項傳遞已選取的訊息。

IScrollItemProvider

相依項

如果清單項目位於可捲動的容器內,則必須實作此控制項模式。

IToggleProvider

相依項

如果清單項目是可以核取的,而且動作不會變更選取狀態,則必須實作此控制項模式。

IExpandCollapseProvider

相依項

如果可以操作項目隱藏或顯示資訊,則必須實作此控制項模式。

IValueProvider

相依項

如果項目可以編輯,則必須實作此控制項模式。 變更清單項目控制項時,NamePropertyValue 的值也會跟著變更。

IGridItemProvider

相依項

如果支援在清單容器內進行逐項空間巡覽,而且容器是以列和欄的方式排列,則必須實作 Grid Item 控制項模式。

IInvokeProvider

相依項

如果項目有可以對其執行的命令 (選取除外),則必須實作此模式。 這通常是與按兩下清單項目控制項相關聯的動作。 例如,從 Microsoft Windows Explorer 開啟文件,或在 Microsoft Windows Media Player 中播放音樂檔案。

必要的 UI 自動化事件

下表列出所有清單項目控制項支援所需的 UI Automation事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀

UI Automation事件

支援

備註

InvokedEvent

相依項

ElementAddedToSelectionEvent

必要項

ElementRemovedFromSelectionEvent

必要項

ElementSelectedEvent

必要項

BoundingRectangleProperty 屬性變更事件。

必要項

IsOffscreenProperty 屬性變更事件。

必要項

IsEnabledProperty 屬性變更事件。

必要項

NameProperty

必要項

ItemStatusProperty 屬性變更事件。

相依項

ExpandCollapseStateProperty 屬性變更事件。

相依項

ValueProperty 屬性變更事件。

相依項

ToggleStateProperty 屬性變更事件。

相依項

AutomationFocusChangedEvent

必要項

StructureChangedEvent

必要項

請參閱

參考

ListItem

概念

UI 自動化控制項型別概觀

UI 自動化概觀