共用方式為


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

備註

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

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

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

下列各節會定義 TreeItem 控制項類型所需的 UI 自動化樹狀結構、屬性、控制件模式和事件。 使用者介面自動化需求適用於所有樹狀專案控件,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。

必要的 UI 自動化樹狀結構

下表顯示與樹狀項目控制元件有關的UI自動化樹的控制檢視和內容檢視,並描述每個檢視中可以包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀

控制項檢視 內容檢視
TreeItem

- CheckBox (0 或 1)
- 影像 (0 或 1)
- 按鈕 (0 或 1)
- TreeItem (0 或更多)
TreeItem

- TreeItem (0 或更多)

樹狀目錄專案控件在UI自動化樹狀結構的內容檢視中可以有零個或多個樹狀項目子系。 如果樹狀項目控件的功能超出以下列出的控件模式所公開的功能,則控件應該基於數據項控件類型。

折疊的樹狀結構項目在展開並可見之前,將不會顯示在控件檢視或內容檢視中(或者,可以捲動到檢視中)。

控件檢視可以包含控制件的其他詳細數據,包括相關聯的影像或按鈕。 例如,大綱檢視中的專案可能包含影像,以及展開或折疊大綱的按鈕。 這些詳細數據物件不會出現在內容檢視中,因為信息已經由父樹狀結構專案表示。 被捲動至畫面之外的樹狀項目會出現在 UI 自動化樹的控制和內容檢視圖中,並且應將 IsOffscreenProperty 設為 true。

必要的UI自動化屬性

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

UI 自動化屬性 價值觀 註釋
AutomationIdProperty 請參閱備註。 這個屬性的值在應用程式中的所有控件中必須是唯一的。
BoundingRectangleProperty 請參閱備註。 包含整個控制項的最外層矩形。
ClickablePointProperty 請參閱備註。 這個屬性必須傳回一個位置,該位置會導致項目變更選取狀態或成為焦點。
ControlTypeProperty TreeItem 此值與所有使用者介面架構的值相同。
IsContentElementProperty 清單控制件一律包含在使用者介面自動化樹狀結構的內容檢視中。
IsControlElementProperty 清單控制件一律包含在UI自動化樹狀結構的控件檢視中。
IsOffscreenProperty 請參閱備註。 此屬性設定為標示樹狀項目控件何時從畫面捲動。
IsKeyboardFocusableProperty 請參閱備註。 如果控制項可接收鍵盤焦點,就必定支援此屬性。
ItemTypeProperty 請參閱備註。 如果樹狀專案控件使用可視化圖示來表示是特定類型的物件,則必須支援此屬性,並指出對象是什麼。
LabeledByProperty Null 樹狀目錄專案控件是自我標記。
LocalizedControlTypeProperty 樹狀項目 對應到 TreeItem 控制件類型的當地語系化字串。
NameProperty 請參閱備註。 這個屬性會公開針對每個樹狀專案控件顯示的文字。

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

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

控制件模式/模式屬性 支援/值 註釋
IInvokeProvider 視情況而定 如果樹狀結構專案有個別且可採取動作的命令,請實作此控件模式。
IExpandCollapseProvider 是的 所有樹狀項目都可以展開或折疊。
ExpandCollapseState 展開、折疊或分葉節點 樹狀結構項目在未展開或未折疊時會是分葉節點。
IScrollItemProvider 視情況而定 如果樹狀結構容器支援 Scroll 控制項模式,請實作此控件模式。
ISelectionItemProvider 視情況而定 如果使用者在返回樹狀結構容器時可以維持一個活躍的選取,請實作此控制模式。
SelectionContainer 是的 這個屬性會針對容器內的所有項目公開相同的容器。
IToggleProvider 視情況而定 如果樹狀目錄項目有相關的複選框,請實作此控制項模式。

必要的UI自動化事件

下表列出所有樹狀專案控件必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀

UI 自動化事件 支援 註釋
AutomationFocusChangedEvent 為必填項目 沒有
BoundingRectangleProperty 屬性變更事件。 為必填項目 沒有
IsEnabledProperty 屬性變更事件。 為必填項目 沒有
IsOffscreenProperty 屬性變更事件。 為必填項目 沒有
ItemStatusProperty 屬性變更事件。 視情況而定 沒有
NameProperty 屬性變更事件。 為必填項目 沒有
StructureChangedEvent 為必填項目 沒有
ExpandCollapseStateProperty 屬性變更事件。 為必填項目 沒有
InvokedEvent 視情況而定 沒有
CurrentViewProperty 屬性變更事件。 視情況而定 沒有
ElementAddedToSelectionEvent 視情況而定 沒有
ElementRemovedFromSelectionEvent 視情況而定 沒有
ElementSelectedEvent 視情況而定 沒有
ToggleStateProperty 屬性變更事件。 視情況而定 沒有
ValueProperty 屬性變更事件。 視情況而定 沒有

另請參閱