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 屬性變更事件。 | 相依 | 無 |