選取控制項模式

描述實作 ISelectionProvider的指導方針和慣例,包括屬性、方法和事件的相關資訊。 選取控制項模式是用來支援做為可選取子專案集合容器的控制項。 這個專案的子系必須實作 ISelectionItemProvider

如需實作此控制項模式的控制項範例,請參閱 控制項類型及其支援的控制項模式

本主題包含下列各節。

實作方針和慣例

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

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

  • 具有最小、最大值和連續範圍的控制項,例如媒體播放機的 音量 滑杆控制項,應該實作 IRangeValueProvider ,而不是 ISelectionProvider

  • 管理實作IRawElementProviderFragmentRoot之子控制項的單選控制項,例如 Windows 的 [顯示內容] 對話方塊中的 [螢幕解析度] 滑杆,或 Microsoft Word (的[色彩選擇器] 選取控制項會看到下列影像) ,應該實作ISelectionProvider;其子系應該同時實作IRawElementProviderFragmentISelectionItemProvider

    顯示色彩監看式字串對應範例的影像

  • 功能表不支援 選取 範圍控制項模式。 如果您使用包含圖形和文字 (的功能表項目,例如 Microsoft Outlook 中 [視] 功能表中的 [預覽窗格] 專案) 且需要傳達狀態,您應該實作IToggleProvider

ISelectionProvider的必要成員

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

必要成員 成員類型 備註
CanSelectMultiple 屬性
IsSelectionRequired 屬性
GetSelection 方法
UIA_Selection_InvalidatedEventId 事件 當容器中的選取專案大幅變更時,請引發此事件。

 

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

控制項類型及其支援的控制項模式

SelectionItem 控制項模式

UI 自動化控制項模式概觀

UI 自動化樹狀目錄概觀