TreeItem 控制項類型的 UI 自動化支援

注意

本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化

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

TreeItem 控制項類型代表樹狀結構容器內的節點。 每個節點都可能包含其他節點,稱為「子節點」。 父節點或包含子節點的節點可以顯示為展開或摺疊。

下列章節會定義 TreeItem 控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式與事件。 UI 自動化需求適用於所有樹狀結構項目控制項,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms 皆然。

必要的使用者介面自動化樹狀結構

下表描述與樹狀結構項目控制項相關的 UI 自動化樹狀結構的內容檢視與控制項檢視,並描述各檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀

控制項檢視 內容檢視
TreeItem

- 核取方塊 (0 或 1)
- 影像 (0 或 1)
- 按鈕 (0 或 1)
- TreeItem (0 個以上)
TreeItem

- TreeItem (0 個以上)

樹狀結構項目控制項在 UI 自動化樹狀結構的內容檢視中可有零個以上的樹狀結構項目子項。 如果樹狀結構項目控制項的功能超出下列控制項模式所公開的功能,則控制項應根據 Data Item 控制項類型而定。

摺疊的樹狀結構項目除非展開並可見 (或可以捲動檢視),否則不會顯示在控制項檢視或內容檢視中。

控制項檢視可以包含控制項的額外詳細資訊,包括相關的影像或按鈕。 例如,大綱模式中的項目可能包含展開或摺疊大綱的影像以及按鈕。 因為資訊已經以父樹狀結構項目表示,所以這些詳細物件不會出現在內容檢視中。 捲動超出螢幕以外的樹狀結構項目會同時出現在 UI 自動化樹狀結構的控制項和內容檢視中,而且應將 IsOffscreenProperty 設為 true。

必要的使用者介面自動化屬性

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

使用者介面自動化屬性 備註
AutomationIdProperty 請參閱備註。 此屬性的值在應用程式中的所有控制項都不得重複。
BoundingRectangleProperty 請參閱備註。 包含整個控制項的最外層矩形。
ClickablePointProperty 請參閱備註。 此屬性必須傳回項目的位置,使項目變更選取狀態或變成焦點所在。
ControlTypeProperty TreeItem 此值與所有使用者介面架構的值相同。
IsContentElementProperty True 此清單控制項一律包含在 UI 自動化樹狀結構的內容檢視中。
IsControlElementProperty True 此清單控制項一律包含在 UI 自動化樹狀結構的控制項檢視中。
IsOffscreenProperty 請參閱備註。 此屬性可設定來表示樹狀結構項目捲動超出螢幕以外。
IsKeyboardFocusableProperty 請參閱備註。 如果控制項可接收鍵盤焦點,就必定支援此屬性。
ItemTypeProperty 請參閱備註。 如果樹狀結構項目控制項使用視覺圖示來表示這是特定類型的物件,則必須支援此屬性並指出物件為何。
LabeledByProperty Null 樹狀結構項目控制項會自行設定標籤。
LocalizedControlTypeProperty 「樹狀結構項目」 對應到 TreeItem 控制項類型的當地語系化字串。
NameProperty 請參閱備註。 此屬性會公開每個樹狀結構項目控制項顯示的文字。

必要的使用者介面自動化控制項模式

下表列出清單控制項必需支援的 UI 自動化控制項模式。 如需控制項模式的詳細資訊,請參閱 UI Automation Control Patterns Overview

控制項模式/模式屬性 支援/值 備註
IInvokeProvider 相依 如果樹狀結構項目有個別可執行動作的命令,即實作此控制項模式。
IExpandCollapseProvider Yes 所有樹狀結構項目都可以展開或摺疊。
ExpandCollapseState 已展開、已摺疊或分葉節點 當樹狀結構項目未展開或摺疊時,表示是分葉節點。
IScrollItemProvider 相依 如果樹狀結構容器支援捲軸控制項模式,即實作此控制項模式。
ISelectionItemProvider 相依 若在使用者回到樹狀結構容器時可以維持作用中的選取範圍,即實作此控制項模式。
SelectionContainer Yes 此屬性將為容器內的所有項目公開相同的容器。
IToggleProvider 相依 如果樹狀結構項目有相關聯的核取方塊,即實作此控制項模式。

必要的使用者介面自動化事件

下表列出所有樹狀結構項目控制項必須支援的 UI 自動化事件。 如需事件的詳細資訊,請參閱 F:System.Windows.Automation.ValuePatternIdentifiers.ValueProperty

UI 自動化事件 支援 備註
AutomationFocusChangedEvent 必要
BoundingRectangleProperty 屬性變更事件。 必要
IsEnabledProperty 屬性變更事件。 必要
IsOffscreenProperty 屬性變更事件。 必要
ItemStatusProperty 屬性變更事件。 相依
NameProperty 屬性變更事件。 必要
StructureChangedEvent 必要
ExpandCollapseStateProperty 屬性變更事件。 必要
InvokedEvent 相依
CurrentViewProperty 屬性變更事件。 相依
ElementAddedToSelectionEvent 相依
ElementRemovedFromSelectionEvent 相依
ElementSelectedEvent 相依
ToggleStateProperty 屬性變更事件。 相依
ValueProperty 屬性變更事件。 相依

另請參閱