控制項模式和介面

列出 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 用於選取容器控制項。 例如 ListBoxComboBox
SelectionItem ISelectionItemProvider 用於選取容器控制項 (例如清單方塊及下拉式方塊) 中的個別項目。
Spreadsheet ISpreadsheetProvider 用來公開試算表或其他格線類型文件的內容。
SpreadsheetItem ISpreadsheetItemProvider 用來公開試算表或其他格線類型文件中的儲存格屬性。
Styles IStylesProvider 用來描述具有特定樣式、填滿色彩、填滿圖樣或形狀的 UI 元素。
SynchronizedInput ISynchronizedInputProvider 讓 UI 自動化用戶端應用程式將滑鼠或鍵盤輸入導向特定的 UI 元素。
Table ITableProvider 用於有格線及標頭資訊的控制項。 例如表格式行事曆控制項。
TableItem ITableItemProvider 用於資料表中的項目。
Text ITextProvider 用於公開文字資訊的編輯控制項及文件。 另請參閱 ITextRangeProviderITextProvider2
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 自動化控制項模式。 不支援的模式包括 AnnotationDockDragDropTargetObjectModel 等。