實作 UI 自動化 SelectionItem 控制項模式
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本主題簡介實作 ISelectionItemProvider的方針和慣例,包括屬性、方法和事件的相關資訊。 其他參考的連結會在概觀的結尾列出。
SelectionItemPattern 控制項模式用來支援控制項,其支援的控制項作用如同實作 ISelectionProvider之容器控制項的個別可選取子項目。 如需實作 SelectionItem 控制模式的控制項範例,請參閱 UI 自動化用戶端的控制項模式對應
實作方針和慣例
實作選取項目控制項模式時,請注意下列方針和慣例:
- 若單一選取控制項有實作 IRawElementProviderFragmentRoot的子控制項,例如 [顯示內容] 對話方塊中的 [螢幕解析度] 滑桿,應實作 ISelectionProvider ,且其子系應實作 IRawElementProviderFragment 和 ISelectionItemProvider。
ISelectionItemProvider 的必要成員
實作 ISelectionItemProvider需要下列屬性、方法和事件。
必要成員 | 成員類型 | 備註 |
---|---|---|
CanSelectMultiple | 屬性 | 無 |
IsSelectionRequired | 屬性 | 無 |
GetSelection | 方法 | 無 |
InvalidatedEvent | Event | 當容器中的選項大幅變更,需要傳送比 ElementSelectedEvent 常數所允許的更多 ElementRemovedFromSelectionEvent 和 InvalidateLimit 事件時,就會引發此事件。 |
- 如果 Select、 AddToSelection或 RemoveFromSelection 的結果是單一選取的項目,則應引發 ElementSelectedEvent ,否則應視情況傳送 ElementAddedToSelectionEvent/ ElementRemovedFromSelectionEvent 。
例外狀況
提供者必須擲回下列例外狀況。
例外狀況類型 | Condition |
---|---|
InvalidOperationException | 當嘗試下列任一項時: - RemoveFromSelection = IsSelectionRequiredProperty = true 。- RemoveFromSelection = IsSelectionRequiredProperty = true 。- AddToSelection = CanSelectMultipleProperty = false 。 |