Menu 控制項類型的 UI 自動化支援
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本主題提供功能表控制項類型的 Microsoft UI 自動化支援相關資訊。 其描述控制項的 Microsoft UI 自動化樹狀結構,並提供特定控制項案例的屬性和控制項模式。
功能表控制項可將命令和事件處理常式的關聯項目以階層方式組織。 在典型的 Microsoft Windows 應用程式中,功能表列包含數個功能表按鈕 (例如 [檔案]、[編輯] 和 [視窗]),而每個功能表按鈕會顯示功能表。 功能表又包含一組功能表項目 (例如 [開新檔案] F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty、[開啟舊檔] UI Automation Properties Overview和 [關閉檔案] TLA#tla_win32),這些項目可展開顯示更多的功能表項目,或在按一下時可執行特定的動作。
下列章節會定義功能表控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式與事件。 UI 自動化需求適用於所有清單控制項,無論是 Windows Presentation Foundation (WPF)、Win32 或 Windows Forms。
必要的使用者介面自動化樹狀結構
下表描述屬於功能表控制項的 UI 自動化樹狀結構內容檢視與控制項檢視,並描述各檢視可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
功能表 - MenuItem (1 或多個) |
不適用 (除非功能表控制項為非功能表項目之物件父系的內容功能表) - MenuItem (1 或多個) |
功能表控制項一律會出現在 UI 自動化樹狀結構的控制項檢視和內容檢視。 功能表控制項類別應該顯示於其資訊所參考的控制項下方。 使用者介面自動化用戶端必須接聽 MenuOpenedEvent
,以確保它們持續取得功能表控制項所傳達的資訊。 內容功能表控制項是特殊案例。 它們會顯示為桌面的子系。
必要的使用者介面自動化屬性
下表列示 UI 自動化屬性,其值或定義與功能表控制項類型特別有關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性。
使用者介面自動化屬性 | 值 | 備註 |
---|---|---|
NameProperty | 不支援 | 功能表控制項不需要設定 Name 屬性。 |
LabeledByProperty | Null |
典型的功能表控制項不預期有標籤。 |
ControlTypeProperty | 功能表 | 此值與所有使用者介面架構的值相同。 |
IsContentElementProperty | False | 功能表控制項不會包含在 UI 自動化樹狀結構的內容檢視中。 |
IsControlElementProperty | True | 功能表控制項一律包含在 UI 自動化樹狀結構的控制項檢視中。 |
必要的使用者介面自動化控制項模式
功能表控制項類型沒有必要的控制項模式。
必要的使用者介面自動化事件
當功能表控制項出現在畫面時,必須引發 MenuOpenedEvent
。 MenuOpenedEvent
將包含控制項的文字。 當功能表從畫面消失時,必須引發 MenuClosedEvent
。
下表列出所有功能表控制項必須支援的 UI 自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
UI 自動化事件 | 支援/值 | 備註 |
---|---|---|
MenuOpenedEvent | 必要 | 無 |
MenuClosedEvent | 必要 | 無 |
BoundingRectangleProperty 屬性變更事件。 | 必要 | 無 |
IsOffscreenProperty 屬性變更事件。 | 必要 | 無 |
IsEnabledProperty 屬性變更事件。 | 必要 | 無 |
AutomationFocusChangedEvent | 必要 | 無 |
StructureChangedEvent | 必要 | 無 |