備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題提供 ToolBar 控制項類型的 UI 自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值和控件模式的特定指導方針。 工具列控制項可讓使用者啟用應用程式內所包含的命令和工具。
下列各節會定義 ToolBar 控制項類型所需的 UI 自動化樹狀結構、屬性、控制件模式和事件。 使用者介面自動化需求適用於所有工具欄控件,無論是 Windows Presentation Foundation (WPF)、Win32 還是 Windows Forms。
必要的 UI 自動化樹狀結構
下表描述與工具列控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀。
| 控制項檢視 | 內容檢視 |
|---|---|
| 工具列 - 各種控制件 (0 或更多) |
工具列 - 各種控制件 (0 或更多) |
工具列控件可以包含其子樹內的任何類型的控制件。 它們最常包含按鈕、下拉式方塊和分割按鈕。
必要的UI自動化屬性
下表列出UI自動化屬性,其值或定義與工具列控件特別相關。 如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性。
| UI 自動化屬性 | 價值觀 | 註釋 |
|---|---|---|
| AutomationIdProperty | 請參閱備註。 | 這個屬性的值在應用程式中的所有控件中必須是唯一的。 |
| BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
| ClickablePointProperty | 請參閱備註。 | 如果有周框,則支援 。 如果周框內的每個點都無法點選,而且您執行特製化的點擊測試,則覆寫並提供可點選的點。 |
| IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
| NameProperty | 視情況而定 | 除非應用程式內使用多個名稱,否則工具列控件不需要名稱。 如果有一個以上,每個都必須有區分名稱(例如,格式化或大綱)。 |
| LabeledByProperty | Null |
工具列控件永遠不會有標籤。 |
| ControlTypeProperty | 工具列 | 此值與所有使用者介面架構的值相同。 |
| LocalizedControlTypeProperty | “工具列” | 對應至 ToolBar 控制項類型的已當地化的字串。 |
| IsContentElementProperty | 對 | 工具列控制項始終包含內容。 |
| IsControlElementProperty | 對 | 工具列控件一律必須是控件。 |
必要的使用者介面自動化控制模式
下表列出工具列控制項需要支援的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
| 控制件模式 | 支援 | 註釋 |
|---|---|---|
| ExpandCollapsePattern | 視情況而定 | 如果工具列可以展開並折疊以顯示更多專案,則必須支援此模式。 |
| DockPattern | 視情況而定 | 如果工具欄可以停靠在螢幕的不同區域,則必須支援此模式。 |
| TransformPattern | 視情況而定 | 如果工具列可以重設大小、旋轉或移動,則必須支援此模式。 |
必要的UI自動化事件
下表列出所有工具列控件都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
| UI 自動化事件 | 支援 | 註釋 |
|---|---|---|
| BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
| IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
| IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
| ExpandCollapseStateProperty 屬性變更事件。 | 視情況而定 | 沒有 |
| AutomationFocusChangedEvent | 為必填項目 | 沒有 |
| StructureChangedEvent | 為必填項目 | 沒有 |