實作 UI 自動化 Scroll 控制項模式
注意
本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化。
本文將介紹實作 IScrollProvider的方針和慣例,包括事件和屬性的相關資訊。 其他參考的連結列於此主題的結尾部分。
ScrollPattern 控制項模式是用來支援放有一組子項目的捲動式容器控制項。 控制項不一定要使用捲軸才能支援捲動功能,不過它通常會這麼做。
不使用捲軸的捲動控制項範例
如需實作此控制項的控制項範例,請參閱 Control Pattern Mapping for UI Automation Clients。
實作方針和慣例
實作捲軸控制項模式時,請注意下列方針和慣例:
這個控制項的子系必須實作 IScrollItemProvider。
容器控制項的捲軸不支援 ScrollPattern 控制項模式。 捲軸必須改成支援 RangeValuePattern 控制項模式。
若捲動是以百分比為單位,則與捲動刻度相關的所有值或數量必須標準化為 0 到 100 之間的範圍。
HorizontallyScrollableProperty 和 VerticallyScrollableProperty 與 IsEnabledProperty無關。
如果 HorizontallyScrollableProperty =
false
,則 HorizontalViewSizeProperty 應設為 100%,而且 HorizontalScrollPercentProperty 應設為 NoScroll。 同樣地,如果 VerticallyScrollableProperty =false
,則 VerticalViewSizeProperty 應設為 100%,而且 VerticalScrollPercentProperty 應設為 NoScroll。 若用戶端不想捲動的方向啟動時,這可讓使用者介面自動化用戶端在 SetScrollPercent 方法中使用這些屬性值,以免發生競爭情形。HorizontalScrollPercent 是地區設定特性。 設定 HorizontalScrollPercent = 100.0 時,必須將控制項的捲動位置設為由左至右語言 (如英文) 的最右側位置。 相反地,若為由右至左語言 (如阿拉伯文),設定 HorizontalScrollPercent = 100.0 時,必須將捲動位置設為最左側位置。
IScrollProvider 的必要成員
以下是實作 IScrollProvider的必要屬性和方法。
必要成員 | 成員類型 | 備註 |
---|---|---|
HorizontalScrollPercent | 屬性 | 無 |
VerticalScrollPercent | 屬性 | 無 |
HorizontalViewSize | 屬性 | 無 |
VerticalViewSize | 屬性 | 無 |
HorizontallyScrollable | 屬性 | 無 |
VerticallyScrollable | 屬性 | 無 |
Scroll | 方法 | 無 |
SetScrollPercent | 方法 | 無 |
此控制項模式沒有任何相關聯的事件。
例外狀況
提供者必須擲回下列例外狀況。
例外狀況類型 | Condition |
---|---|
ArgumentException | 如果控制項僅支援垂直或水平捲動的Scroll 值,但傳入了 SmallIncrement 值, LargeIncrement 就會擲回這個例外狀況。 |
ArgumentException | 當傳入無法轉換成雙精度浮點數的值時,SetScrollPercent 便會擲回這個例外狀況。 |
ArgumentOutOfRangeException | 當傳入大於 100 或小於 0 的值 (-1 例外,因為它相當於SetScrollPercent ) 時, NoScroll就會擲回這個例外狀況。 |
InvalidOperationException | 嘗試在不支援的方向捲動時, Scroll 和 SetScrollPercent 都會擲回這個例外狀況。 |