列出Microsoft 使用者介面自動化控制模式、用戶端用來存取它們的類別,以及提供者用來實作它們的介面。
本主題的表格描述了Microsoft 使用者介面自動化控制模式。 表格同時列出 使用者介面自動化 用戶端用來存取控制模式的類別,以及 使用者介面自動化 提供者實作控制模式時使用的介面。 Control 模式名稱欄位顯示來自使用者介面自動化用戶端角度的模式名稱,作為常數值列於控制模式可用性屬性識別碼中。 從使用者介面自動化提供者的角度來看,這些模式都是PatternInterface常數名稱。 Provider 介面欄位列出提供者用於自訂 XAML 控制實作此模式的 Microsoft.UI.Xaml.Automation.Provider 介面名稱。
想了解更多如何實作能暴露控制模式並實作介面的自訂自動化對等體,請參見 「自訂自動化對等」。
當你實作控制模式時,也應該參考 使用者介面自動化 提供者的文件,裡面說明了客戶對控制模式的期望,無論使用哪個 UI 框架來實作。 使用者介面自動化 提供者一般文件中列出的一些資訊,會影響你如何實作同儕並正確支援該模式。 請參閱 Implementing 使用者介面自動化 Control Patterns,並查看你打算實作的模式文件頁面。
| 控制模式 | WinUI 提供者介面 | 舊有的UWP等效版本 | 說明 |
|---|---|---|---|
| Annotation | IAnnotationProvider | IAnnotationProvider | 用於揭露文件中註解的屬性。 |
| 碼頭 | IDockProvider | IDockProvider | 用於可停駐在停駐容器中的控件。 例如,工具列或工具選擇區。 |
| Drag | IDragProvider | IDragProvider | 用於支援可拖曳的控制項,或有可拖曳項目的控制項。 |
| DropTarget | IDropTargetProvider | IDropTargetProvider | 用於支援可作為拖放操作目標的控制項。 |
| 展開/收合 | IExpandCollapseProvider | IExpandCollapseProvider | 用於支援可視覺放大以顯示更多內容,並可摺疊以隱藏內容的控制項。 |
| 網格 | IGridProvider | IGridProvider | 用於支援網格功能的控制項,例如調整大小和移動到指定的儲存格。 請注意,Grid 本身並未實作此模式,因為它提供版面配置,但不是控制項。 |
| 網格項目 | IGridItemProvider | IGridItemProvider | 用於方格內具有單元格的控件。 |
| 調用 | IInvokeProvider | IInvokeProvider | 用於可調用的控制,例如按鈕。 |
| 物品容器 | IItemContainerProvider | IItemContainerProvider | 使應用程式能在容器中找到元素,例如虛擬化清單。 |
| 多重檢視 | IMultipleViewProvider | IMultipleViewProvider | 用於可以在相同資訊、數據或子系的多個表示法之間切換的控件。 |
| 物件模型 | IObjectModelProvider | IObjectModelProvider | 用來暴露指向文件底層物件模型的指標。 |
| 範圍值 | IRangeValueProvider | IRangeValueProvider | 用於具有可套用至控制項的值範圍之控制項。 例如,一個包含年份的旋轉控制範圍可能是1900到當前年份,而另一個表示月份的旋轉控制則是1到12。 |
| Scroll | IScrollProvider | IScrollProvider | 用於可捲動的控件。 例如,控制元件的滾動條會在資訊量超過控制元件的可檢視範圍時啟動。 |
| 捲動項目 | IScrollItemProvider | IScrollItemProvider | 用於可捲動的清單中包含個別項目的控制項。 例如,在捲動列表中具有個別項目的清單控制項,例如下拉式方塊控制項。 |
| 選擇 | ISelectionProvider | ISelectionProvider | 用於選取容器控制件。 例如, ListBox 和 ComboBox。 |
| 精選項目 | ISelectionItemProvider | ISelectionItemProvider | 適用於選擇容器控件中的單個項目,例如列表框和組合框。 |
| 試算表 | ISpreadsheetProvider | ISpreadsheetProvider | 用於揭露試算表或其他基於格狀文件的內容。 |
| 試算表項目 | ISpreadsheetItemProvider | ISpreadsheetItemProvider | 用於揭露試算表或其他格狀文件中儲存格的屬性。 |
| 樣式 | IStylesProvider | IStylesProvider | 用來描述具有特定樣式、填充顏色、填充模式或形狀的 UI 元素。 |
| 同步輸入 | ISynchronizedInputProvider | ISynchronizedInputProvider | 啟用 使用者介面自動化 客戶端應用程式,將滑鼠或鍵盤輸入導向特定 UI 元素。 |
| 表 | ITableProvider | ITableProvider | 用於具有方格和標頭資訊的控件。 例如,一個表格式行事曆控制。 |
| 表格項目 | ITableItemProvider | ITableItemProvider | 用於數據表中的項目。 |
| 文字 | ITextProvider | ITextProvider | 用於編輯公開文字資訊的控制件和檔。 另見 ITextRangeProvider 與 ITextProvider2。 |
| TextChild | ITextChildProvider | ITextChildProvider | 用於存取最接近支援 文字 控制模式的元素祖先。 |
| 文字編輯 | 沒有管理類別可用 | 沒有管理類別可用 | 提供修改文字的控制項,例如透過輸入法編輯器(IME)執行自動更正或啟用輸入組合的控制項。 |
| TextRange | ITextRangeProvider | ITextRangeProvider | 提供實作 ITextProvider 的文字容器中連續文字的存取。 另見 ITextRangeProvider2。 |
| Toggle | IToggleProvider | IToggleProvider | 用於可切換狀態的控制件。 例如,核取方塊 和可以勾選的選單項目。 |
| Transform | ITransformProvider | ITransformProvider | 用於可重設大小、移動和旋轉的控制件。 轉換控制樣式的典型用法是在設計工具、表單、圖形編輯器和繪圖應用程式中。 |
| 價值 | IValueProvider | IValueProvider | 可讓用戶端在不支持某個值範圍的控制項上取得或設定值。 |
| 虛擬化項目 | IVirtualizedItemProvider | IVirtualizedItemProvider | 會暴露容器內的項目,這些項目需要虛擬化,並以 使用者介面自動化 元素的形式完全開放。 |
| 窗 | IWindowProvider | IWindowProvider | 揭露與 windows 相關的特定資訊,這是 Microsoft Windows 作業系統的基本概念。 屬於視窗的控制項範例有子視窗和對話框。 |
備註
並非所有這些模式都是由現有的 XAML 控制項實作的。 有些樣板介面之所以存在,是為了與一般 使用者介面自動化 框架的樣板定義保持一致,並支援需要完全自訂實作的自動化對等場景。