實作UI自動化SelectionItem控制項模式
注意
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題介紹實作 ISelectionItemProvider的指導方針和慣例,包括屬性、方法和事件的相關信息。 其他參考的連結會列在概觀結尾。
SelectionItemPattern 控制項模式可用來支援做為個別、可選取之容器控件子專案的控制件,這些子專案會實作 ISelectionProvider。 如需範例以展示如何實作 SelectionItem 控制項模式,請參閱 UI 自動化用戶端的控制模式對應。
實作指導方針和慣例
實作選取專案控件模式時,請注意下列指導方針和慣例:
- 管理實作 IRawElementProviderFragmentRoot子控制項的單一選擇控制項,例如在 [顯示屬性] 對話框中的 [ 螢幕解析度] 滑桿,應該實作 ISelectionProvider,且其子控制項應同時實作 IRawElementProviderFragment 和 ISelectionItemProvider。
ISelectionItemProvider 的必要成員
實作 ISelectionItemProvider需要下列屬性、方法和事件。
必要成員 | 成員類型 | 筆記 |
---|---|---|
IsSelected | 財產 | 沒有 |
SelectionContainer | 財產 | 沒有 |
AddToSelection | 方法 | 沒有 |
RemoveFromSelection | 方法 | 沒有 |
Select | 方法 | 沒有 |
ElementSelectedEvent | 事件 | 選擇變更導致只有單一項目被選取時觸發。 |
ElementAddedToSelectionEvent | 事件 | 當項目加入至多選容器時觸發。 |
ElementRemovedFromSelectionEvent | 事件 | 當從多重選取容器中移除項目時觸發。 |
InvalidatedEvent | 事件 | 當容器中的選取專案大幅變更,且需要傳送比 ElementSelectedEvent 常數允許更多的 ElementRemovedFromSelectionEvent 和 InvalidateLimit 事件時引發。 |
- 如果 Select、AddToSelection或 RemoveFromSelection 作業會導致單一選取的專案,請引發 ElementSelectedEvent;否則,請視需要引發 ElementAddedToSelectionEvent 或 ElementRemovedFromSelectionEvent。
例外
提供者必須擲回下列例外狀況。
例外狀況類型 | 條件 |
---|---|
InvalidOperationException | 嘗試下列任一項時: - RemoveFromSelection 是在單一選取容器上呼叫,其中已選取 IsSelectionRequiredProperty = true 和一個元素。- RemoveFromSelection 被呼叫於多重選取容器中,當 IsSelectionRequiredProperty = true 而且只選擇了一個元素。- AddToSelection 是在單一選取容器上呼叫,其中已選取 CanSelectMultipleProperty = false 和另一個元素。 |