控制項模式和介面
列出 Microsoft UI 自動化控制項模式、用戶端用來存取這些模式的類別,以及提供者用來實作這些模式的介面。
本主題中的表格旨在說明 Microsoft UI 自動化控制項模式。 這個表格也列出 UI 自動化用戶端用來存取控制項模式的類別,以及 UI 自動化提供者用來實作這些類別的介面。 [控制項模式] 欄所顯示的是 UI Automation 用戶端視角下的模式名稱,即控制項模式可用性屬性識別碼中所列出的常數值。 從 UI 自動化提供者的視角來看,這些模式中的每個模式都是一個 PatternInterface 常數名稱。 [類別提供者介面] 欄顯示了提供者為了向自訂 XAML 控制項提供此模式而實作的介面名稱。
如要進一步瞭解如何實作公開控制項模式、並實作介面的自訂自動化對等,請參閱自訂自動化對等。
實作控制項模式時,您應同時參閱 UI 自動化提供者文件,當中說明用戶端對控制項模式的一些期望,不論使用哪種 UI 架構進行實作。 一般 UI 自動化提供者文件中列出的部分資訊,將會影響您實作對等、並正確支援該模式的方式。 請參閱實作 UI 自動化控制項模式,並查看記錄您所要實作之模式的頁面。
控制項模式 | 類別提供者介面 | 描述 |
---|---|---|
Annotation | IAnnotationProvider | 用來公開文件中特定註釋的屬性。 |
Dock | IDockProvider | 用於可停駐在停駐容器中的控制項。 例如工具列或工具板。 |
Drag | IDragProvider | 用來支援可拖曳的控制項,或內含可拖曳項目的控制項。 |
DropTarget | IDropTargetProvider | 用來支援可做為拖放操作目標的控制項。 |
ExpandCollapse | IExpandCollapseProvider | 用於支援能以視覺化方式展開以顯示更多內容、並收合以隱藏內容的控制項。 |
Grid | IGridProvider | 用於支援格線功能 (例如調整大小及移動至指定的儲存格) 的控制項。 請注意,Grid 本身並不會實作此模式,因為它提供的是版面配置,而非控制項。 |
GridItem | IGridItemProvider | 用於格線中有儲存格的控制項。 |
Invoke | IInvokeProvider | 用於可以叫用的控制項,例如按鈕。 |
ItemContainer | IItemContainerProvider | 可讓應用程式在容器 (例如虛擬化清單) 中尋找元素。 |
MultipleView | IMultipleViewProvider | 用於可在同一組資訊、資料或子系的多種表示方式之間切換的控制項。 |
ObjectModel | IObjectModelProvider | 用於公開文件基礎物件模型的指標。 |
RangeValue | IRangeValueProvider | 用於有一系列可套用至該控制項之值的控制項。 例如,包含年份的微調控制項可能擁有一系列從1900 至目前年份的值;而另一個呈現月份的微調控制項則可能擁有一系列從 1 到 12 的值。 |
Scroll | IScrollProvider | 用於可捲動的控制項。 例如,當控制項中的資訊超出可視區域所能顯示的資訊量時,即啟用捲軸的控制項。 |
ScrollItem | IScrollItemProvider | 用於在可捲動的清單中具有個別項目的控制項。 例如,在捲動清單中 (例如下拉式方塊控制項) 有個別項目的清單控制項。 |
Selection | ISelectionProvider | 用於選取容器控制項。 例如 ListBox 和 ComboBox。 |
SelectionItem | ISelectionItemProvider | 用於選取容器控制項 (例如清單方塊及下拉式方塊) 中的個別項目。 |
Spreadsheet | ISpreadsheetProvider | 用來公開試算表或其他格線類型文件的內容。 |
SpreadsheetItem | ISpreadsheetItemProvider | 用來公開試算表或其他格線類型文件中的儲存格屬性。 |
Styles | IStylesProvider | 用來描述具有特定樣式、填滿色彩、填滿圖樣或形狀的 UI 元素。 |
SynchronizedInput | ISynchronizedInputProvider | 讓 UI 自動化用戶端應用程式將滑鼠或鍵盤輸入導向特定的 UI 元素。 |
Table | ITableProvider | 用於有格線及標頭資訊的控制項。 例如表格式行事曆控制項。 |
TableItem | ITableItemProvider | 用於資料表中的項目。 |
Text | ITextProvider | 用於公開文字資訊的編輯控制項及文件。 另請參閱 ITextRangeProvider 和 ITextProvider2。 |
TextChild | ITextChildProvider | 用來存取支援文字控制項模式之元素的最鄰近祖系。 |
TextEdit | 沒有可用的受控類別 | 提供用於修改文字之控制項 (例如執行自動更正、或透過輸入法編輯器 (IME) 啟用輸入組合的控制項) 的存取權。 |
TextRange | ITextRangeProvider | 提供用於實作 ITextProvider 之文字容器當中一段連續文字範圍的存取權。 另請參閱 ITextRangeProvider2。 |
Toggle | IToggleProvider | 用於可切換狀態的控制項。 例如可勾選的 CheckBox 和功能表項目。 |
Transform | ITransformProvider | 用於可調整大小、移動和旋轉的控制項。 Transform (轉換) 控制項模式通常使用於設計工具、表單、圖形編輯器,以及繪圖應用程式。 |
Value | IValueProvider | 允許用戶端對不支援一系列值的控制項,取得或設定一個值。 |
VirtualizedItem | IVirtualizedItemProvider | 公開已虛擬化、且需要以 UI 自動化元素之形式完整存取之容器內部的元素。 |
Window | IWindowProvider | 公開與視窗相關的特定資訊 (視窗是 Microsoft Windows 作業系統的基本概念)。 視窗控制項的例子包括子視窗和對話方塊等。 |
注意事項
您不一定能在現有的 XAML 控制項中找到所有這些模式的實作。 部分模式的介面僅用於支援與一般 UI 自動化架構模式定義保持一致,以及支援需要純自訂實作來支援該模式的自動化對等案例。
注意事項
Windows Phone 市集應用程式不支援此處列出的所有 UI 自動化控制項模式。 不支援的模式包括 Annotation、Dock、Drag、DropTarget、ObjectModel 等。