備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題提供 ScrollBar 控制項類型的 UI 自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值和控件模式的特定指導方針。
滾動條控制件可讓使用者在視窗或專案容器內捲動內容。 控件是由一組按鈕和拇指控制器所組成。
下列各節會定義 ScrollBar 控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 使用者介面自動化需求適用於所有清單控件,無論是 Windows Presentation Foundation (WPF)、Win32 還是 Windows Forms。
必要的 UI 自動化樹狀結構
下表描述與滾動條控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需UI自動化樹狀結構的詳細資訊,請參閱 UI自動化樹狀結構概觀。
| 控制項檢視 | 內容檢視 |
|---|---|
| 捲軸 - 按鈕 (2 或 4) - 拇指 (0 或1) |
不適用。 滾動條控件不包含內容。 |
滾動條控制項通常有三到五個子系。 因為子樹有多個按鈕控制件,因此您必須為每個項目設定特定 AutomationIdProperty 值,使其可供測試自動化工具探索。
必要的UI自動化屬性
下表列出UI自動化屬性,其值或定義與滾動條控件特別相關。 請注意,捲動條控制項永遠不會有內容。它的功能會透過捲動控制模式公開,並且受捲動的容器支援此功能。
如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性。
| UI 自動化屬性 | 價值觀 | 註釋 |
|---|---|---|
| AutomationIdProperty | 請參閱備註。 | 這個屬性的值在應用程式中的所有控件中必須是唯一的。 |
| BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
| IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
| NameProperty | Null |
捲動條控制件沒有內容元素, NameProperty 不需要設定 。 |
| ClickablePointProperty | 不是數位。 | 滾動條控件沒有可點選的點。 |
| LabeledByProperty | Null |
滾動條沒有標籤。 |
| ControlTypeProperty | 捲軸 | 所有架構的這個值都相同。 做為滑桿的滾動條必須使用 Slider 控件類型。 |
| LocalizedControlTypeProperty | “滾動條” | 對應的按鈕控件類型的當地語系化字串。 |
| IsContentElementProperty | 否 | 滾動條控件絕不是內容元素。 如果滾動條是獨立控件,則必須符合 Slider 控件類型,並為 ControlType.Slider 屬性返回 ControlType。 |
| IsControlElementProperty | 對 | 滾動條一律必須是控制項。 |
| OrientationProperty | 對 | 滾動條控件必須一律公開其水準或垂直方向。 |
必要的使用者介面自動化控制模式
下表列出滾動條控件支援所需的UI自動化控件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。 請注意,當滾動條僅作為滑鼠操作的控制元件時,它不支援控制模式。 如果將它當做應用程式內的滑桿控件使用,則必須提供 Slider 控制項類型。
| 控制件模式 | 支援 | 註釋 |
|---|---|---|
| IScrollProvider | 從不 | 滾動條上永遠不會直接支援卷動控件模式。 |
| IRangeValueProvider | 視情況而定 | 只有在具有滾動條的容器上不支援卷動控件模式時,才需要支援此功能。 |
必要的UI自動化事件
下表列出所有滾動條控件都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
| UI 自動化事件 | 支援/值 | 註釋 |
|---|---|---|
| BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
| IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
| IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
| HorizontallyScrollableProperty 屬性變更事件。 | 從不 | 沒有 |
| HorizontalScrollPercentProperty 屬性變更事件。 | 從不 | 沒有 |
| HorizontalViewSizeProperty 屬性變更事件。 | 從不 | 沒有 |
| VerticalScrollPercentProperty 屬性變更事件。 | 從不 | 沒有 |
| VerticallyScrollableProperty 屬性變更事件。 | 從不 | 沒有 |
| VerticalViewSizeProperty 屬性變更事件。 | 從不 | 沒有 |
| ValueProperty 屬性變更事件。 | 視情況而定 | 沒有 |
| AutomationFocusChangedEvent | 為必填項目 | 沒有 |
| StructureChangedEvent | 為必填項目 | 沒有 |