共用方式為


實作 UI 自動化 Selection 控制項模式

注意

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

本主題將介紹實作 ISelectionProvider的方針和慣例,包括事件和屬性的相關資訊。 其他參考的連結列於此主題的結尾部分。

SelectionPattern 控制項模式是用以支援當作可選取子項目集合的容器使用的控制項。 這個項目的子系必須實作 ISelectionItemProvider。 如需實作此控制項模式的控制項範例,請參閱 Control Pattern Mapping for UI Automation Clients

實作方針和慣例

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

Color picker with yellow highlighted. 色樣字串對應範例

  • 功能表不支援 SelectionPattern。 若使用的功能表項目同時包含圖形和文字 (例如 Microsoft Outlook [檢視] 功能表中的 [預覽窗格] 項目),而有必要傳達狀態,則應實作 IToggleProvider

ISelectionProvider 的必要成員

ISelectionProvider 介面需要下列屬性、方法和事件。

必要成員 類型 備註
CanSelectMultiple 屬性 應支援使用 AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler的屬性變更事件。
IsSelectionRequired 屬性 應支援使用 AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler的屬性變更事件。
GetSelection 方法
InvalidatedEvent Event 當容器中的選項大幅變更,需要傳送比 InvalidateLimit 常數所允許的更多新增和移除事件時,會引發此事件。

IsSelectionRequiredCanSelectMultiple 屬性可以是動態的。 例如,控制項的最初狀態可能預設沒有選取任何項目,表示 IsSelectionRequiredfalse。 不過,在選取項目之後,控制項就必須至少有一個項目一律保持為選取。 同樣地,在極少數的情況下,控制項可能會允許最初選取多個項目,但之後就只允許單一選取。

例外狀況

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

例外狀況類型 Condition
ElementNotEnabledException 如果未啟用此控制項。
InvalidOperationException 如果隱藏此控制項。

另請參閱