選取控制項模式
描述實作 ISelectionProvider的指導方針和慣例,包括屬性、方法和事件的相關資訊。 選取控制項模式是用來支援做為可選取子專案集合容器的控制項。 這個專案的子系必須實作 ISelectionItemProvider。
如需實作此控制項模式的控制項範例,請參閱 控制項類型及其支援的控制項模式。
本主題包含下列各節。
實作方針和慣例
實作 Selection 控制項模式時,請注意下列指導方針和慣例:
實作 ISelectionProvider 的控制項允許選取單一或多個子專案。 例如,清單方塊、清單檢視和樹狀檢視支援多個選取專案,而下拉式方塊、滑杆和選項按鈕群組則支援單一選取。
具有最小、最大值和連續範圍的控制項,例如媒體播放機的 音量 滑杆控制項,應該實作 IRangeValueProvider ,而不是 ISelectionProvider。
管理實作IRawElementProviderFragmentRoot之子控制項的單選控制項,例如 Windows 的 [顯示內容] 對話方塊中的 [螢幕解析度] 滑杆,或 Microsoft Word (的[色彩選擇器] 選取控制項會看到下列影像) ,應該實作ISelectionProvider;其子系應該同時實作IRawElementProviderFragment和ISelectionItemProvider。
功能表不支援 選取 範圍控制項模式。 如果您使用包含圖形和文字 (的功能表項目,例如 Microsoft Outlook 中 [檢視] 功能表中的 [預覽窗格] 專案) 且需要傳達狀態,您應該實作IToggleProvider。
ISelectionProvider的必要成員
實作 ISelectionProvider 介面時,需要下列屬性、方法和事件。
必要成員 | 成員類型 | 備註 |
---|---|---|
CanSelectMultiple | 屬性 | 無 |
IsSelectionRequired | 屬性 | 無 |
GetSelection | 方法 | 無 |
UIA_Selection_InvalidatedEventId | 事件 | 當容器中的選取專案大幅變更時,請引發此事件。 |
ISelectionProvider::IsSelectionRequired和CanSelectMultiple屬性可以是動態的。 例如,控制項的初始狀態預設可能不會選取任何專案,表示 IsSelectionRequired 為 false。 不過,在選取項目之後,控制項就必須至少有一個項目一律保持為選取。 同樣地,在極少數的情況下,控制項可能會允許最初選取多個項目,但之後就只允許單一選取。
相關主題