共用方式為


實現 UI 自動化選取控制模式

備註

本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化

本主題介紹實作 ISelectionProvider的指導方針和慣例,包括事件和屬性的相關信息。 主題結尾會列出其他參考的連結。

控件 SelectionPattern 模式可用來支援做為可選取子專案集合之容器的控件。 這個項目的子系必須實作ISelectionItemProvider。 如需實作此控制項模式的控制項範例,請參閱 UI 自動化用戶端的控制項模式對應

實作指導方針和慣例

實作選取控件模式時,請注意下列指導方針和慣例:

  • 實作 ISelectionProvider 的控件允許選取單一或多個子專案。 例如,清單方塊、清單檢視和樹狀檢視支援多重選取,而下拉式方塊、滑桿和單選按鈕群組則支援單一選取。

  • 具有最小、最大值和連續範圍的控制件,例如 音量滑桿 控件,應該實 IRangeValueProvider 作 而不是 ISelectionProvider

  • 管理子控件(如 [IRawElementProviderFragmentRoot] 對話方塊中的 [螢幕解析度] 滑桿或 Microsoft Word 中的 [色彩選擇器] 選取控件,如下所示)的單一選取控件應該實作 ;其子控件應同時實作 ISelectionProviderIRawElementProviderFragment

黃色被醒目標示的色彩選擇器。 色彩樣本字串對應的範例

  • 選單不支援 SelectionPattern。 如果您正在處理同時包含圖形和文字的功能表項(例如在 Microsoft Outlook 的 檢視選單 中的[預覽窗格]項目),而且需要傳達狀態,您應該實作IToggleProvider

ISelectionProvider 的必要成員

下列屬性、方法和事件是 ISelectionProvider 介面所需的。

必要成員 類型 註釋
CanSelectMultiple 房產 應支援使用 AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler 的屬性變更事件。
IsSelectionRequired 房產 應支援使用 AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler 的屬性變更事件。
GetSelection 方法 沒有
InvalidatedEvent 事件 當容器中的選取項目發生重大變更,且需要傳送比 InvalidateLimit 常數允許更多的添加和移除事件時引發。

IsSelectionRequiredCanSelectMultiple 屬性可以是動態的。 例如,控制項的初始狀態預設可能沒有任何項目選取,表示 IsSelectionRequiredfalse。 不過,選擇項目之後,控制項必須始終至少選擇一個項目。 同樣地,在極少數情況下,控件可能會允許在初始化時選取多個專案,但隨後只允許進行單一選取。

例外狀況

提供者必須擲回下列例外狀況。

例外狀況類型 狀況
ElementNotEnabledException 如果控制未被啟用。
InvalidOperationException 如果控件已隱藏。

另請參閱