UI 自動化控制項模式概觀
控件模式 是一種介面實作,揭露控件功能的特定層面給 Microsoft UI 自動化的用戶端應用程式。 客戶使用透過控制項模式公開的屬性和方法,擷取控制項特定功能的資訊,或操作控制項行為的特定層面。 例如,呈現表格式介面的控制項會使用 Grid 控制項模式來公開表中的行和列的數目,以及讓用戶端從表中擷取項目。
使用者介面自動化會使用控件模式來代表常見的控件行為。 例如,您可以針對可叫用的控件使用 叫用 控件模式,例如按鈕;而針對具有滾動條的控件,例如清單框、清單檢視或下拉式方塊,則使用 捲動 控件模式。 因為每個控件模式都代表個別的功能,因此可以結合控件模式來描述特定控件所支援的完整功能集。
注意
一個聚合控件是由子控件構建而成,這些子控件為父控件所公開的功能提供使用者介面,而父控件應該實作通常與其子控件相關聯的所有控件模式。 因此,子控件不需要實現這些相同的控件模式。
本主題包含下列各節:
- UI 自動化控制項模式元件
- 提供者和用戶端中的 控件模式
- 動態控件模式
- 控件模式和相關介面
- 相關主題
UI 自動化控制模式元件
控制項模式支援定義控制件中可用之離散功能所需的方法、屬性、事件和關聯性。
- 方法允許 UI 自動化用戶端操作控制項。
- 屬性和事件提供控制項功能和狀態的相關信息。
- UI 自動化元素與其父元素、子元素和同級元素之間的關聯性描述 UI 自動化樹狀結構。
控制項模式與控制件類似介面與元件物件模型 (COM) 對象的關聯方式。 在 COM 中,您可以查詢對象來詢問其支援的介面,然後使用這些介面來存取功能。 在UI自動化中,用戶端可以詢問控制件支援哪些控制項模式,然後透過所支援控件模式所公開的屬性、方法、事件和結構來與控件互動。
在提供者和用戶端中控制模式
UI 自動化提供者會實作控件模式介面,以公開控件所支援之特定功能的適當行為。 這些介面不會直接公開給用戶端,但由UI自動化核心用來實作另一組用戶端介面。 例如,提供者透過 IScrollProvider向 UI 自動化公開捲動功能,而 UI 自動化會透過 IUIAutomationScrollPattern向客戶端公開此功能。
動態控制項模式
某些控制件不一定支援相同的控制項模式集。 例如,只有當多行編輯控制項中的文字行數超過其可視區域時,才會啟用垂直捲動。 當刪除足夠的文字後,捲動功能會被停用,因此不再需要捲動。 在此範例中,IUIAutomationScrollPattern 會動態支援,視編輯方塊中的文字數目而定。
控制件模式和相關介面
下表描述UI自動化控制件模式。 數據表也會列出用來實作控件模式的提供者介面,以及用來存取這些模式的用戶端介面。
相關主題