Tree 控制項類型的 UI 自動化支援
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本主題提供 Tree 控制項類型的 UI 自動化支援相關資訊。 在 UI 自動化中,控制項類型是一組控制項條件,控制項必須符合條件才能使用 ControlTypeProperty 屬性。 這些條件包括 UI 自動化樹狀結構的特定方針、UI 自動化屬性值和控制項模式。
Tree 控制項類型用於其內容的相關性如同節點階層的容器,而其顯示方式與 [Microsoft Windows 檔案總管] 左窗格顯示檔案和資料夾相同。 每個節點都可能包含其他節點,稱為子節點。 父節點或包含子節點的節點可以顯示為展開或摺疊。
下列章節會定義 Tree 控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 UI 自動化需求適用於所有樹狀結構控制項,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。
必要的使用者介面自動化樹狀結構
下表描述屬於樹狀結構控制項之 UI 自動化樹狀結構的控制項檢視和內容檢視,並說明各檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
樹狀結構
|
樹狀結構
|
UI 自動化樹狀結構的控制項檢視包含:
在容器內的零到多個項目 (可以是樹狀結構項目、資料項目或其他控制項類型的項目)。
0、1 或 2 個捲軸。
UI 自動化樹狀結構的內容檢視包含容器內的零或多個項目 (可以是樹狀結構項目、資料項目或其他控制項類型的項目)。
必要的使用者介面自動化屬性
下表列示 UI 自動化屬性,其值或定義與清單控制項特別有關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性。
使用者介面自動化屬性 | 值 | 備註 |
---|---|---|
AutomationIdProperty | 請參閱備註。 | 此屬性的值在應用程式中的所有控制項都不得重複。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
ClickablePointProperty | 請參閱備註。 | 樹狀結構控制項有可點選的點,可以讓焦點設在樹狀結構或樹狀結構容器中的某個項目。 只有在按一下某處而不會使其中一個項目變成選取或取得焦點時,樹狀結構才會有可點選的點。 |
ControlTypeProperty | 樹狀結構 | 此值與所有使用者介面架構的值相同。 |
IsContentElementProperty | True | 此樹狀結構控制項一律包含在 UI 自動化樹狀結構的內容檢視。 |
IsControlElementProperty | True | 此樹狀結構控制項一律包含在 UI 自動化樹狀結構的控制項檢視。 |
IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
LabeledByProperty | 請參閱備註。 | 如果樹狀結構控制項有相關聯的標籤,則此屬性會傳回該標籤的 AutomationElement 。 否則,屬性會傳回 null 參考 (在 Microsoft Visual Basic .NET 中為 Nothing )。 |
LocalizedControlTypeProperty | 「樹狀結構」 | 對應到清單控制項類型的當地語系化字串。 |
NameProperty | 請參閱備註。 | 樹狀結構控制項的名稱屬性值通常取自於控制項的標籤文字。 如果沒有文字標籤,則應用程式開發人員必須提供此屬性的值。 |
必要的使用者介面自動化控制項模式
下表列出清單控制項必需支援的 UI 自動化控制項模式。 如需控制項模式的詳細資訊,請參閱 UI Automation Control Patterns Overview。
控制項模式/模式屬性 | 支援/值 | 備註 |
---|---|---|
ISelectionProvider | 相依 | 包含一組可選取項目的樹狀結構控制項必須實作此控制項模式。 若選取項目並不會對使用者傳達有意義的資訊,則無須實作此控制項模式。 |
CanSelectMultiple | 請參閱備註。 | 如果樹狀結構控制項支援多重選取 (大多數樹狀結構控制項並不支援多重選取),即實作此屬性。 |
IsSelectionRequired | 請參閱備註。 | 如果控制項需要選取項目,則會公開此屬性的值。 |
IScrollProvider | 相依 | 如果樹狀結構容器的內容可以捲動,即實作此控制項模式。 |
必要的使用者介面自動化事件
下表列出所有樹狀結構控制項必須支援的 UI 自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
UI 自動化事件 | 支援 | 備註 |
---|---|---|
InvalidatedEvent | 相依 | 無 |
BoundingRectangleProperty 屬性變更事件。 | 必要 | 無 |
IsOffscreenProperty 屬性變更事件。 | 必要 | 無 |
IsEnabledProperty 屬性變更事件。 | 必要 | 無 |
HorizontallyScrollableProperty 屬性變更事件。 | 相依 | 無 |
HorizontalScrollPercentProperty 屬性變更事件。 | 相依 | 無 |
HorizontalViewSizeProperty 屬性變更事件。 | 相依 | 無 |
VerticalScrollPercentProperty 屬性變更事件。 | 相依 | 無 |
VerticallyScrollableProperty 屬性變更事件。 | 相依 | 無 |
VerticalViewSizeProperty 屬性變更事件。 | 相依 | 無 |
AutomationFocusChangedEvent | 必要 | 無 |
StructureChangedEvent | 必要 | 無 |