注
このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、「Windows Automation API: UI オートメーション 」を参照してください。
このトピックでは、ScrollBar コントロール型に対する UI オートメーションのサポートについて説明します。 UI オートメーションでは、コントロール型は、 ControlTypeProperty プロパティを使用するためにコントロールが満たす必要がある一連の条件です。 条件には、UI オートメーション ツリー構造、UI オートメーション プロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。
スクロール バー コントロールを使用すると、ユーザーはウィンドウまたは項目コンテナー内のコンテンツをスクロールできます。 操作装置は、一連のボタンとサムスティックで構成されます。
次のセクションでは、ScrollBar コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、Windows フォームのいずれであっても、すべてのリスト コントロールに適用されます。
必要な UI オートメーション ツリー構造
次の表は、スクロール バー コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「 UI オートメーション ツリーの概要」を参照してください。
| コントロール ビュー | コンテンツ ビュー |
|---|---|
| スクロールバー - ボタン (2 または 4) - 親指 (0 または 1) |
適用されません。 スクロール バー コントロールにコンテンツが含まれていません。 |
スクロール バー コントロールには、常に 3 ~ 5 個の子があります。 サブツリーには複数のボタン コントロールがあるため、テスト自動化ツールで検出できるようにするには、各項目に特定の AutomationIdProperty 値を設定する必要があります。
必要な UI オートメーション プロパティ
次の表に、スクロール バー コントロールに特に関連する値または定義を持つ UI オートメーション プロパティを示します。 スクロール バー コントロールにコンテンツが含まれることはありません。その機能は、スクロールするコンテナーでサポートされている Scroll コントロール パターンを介して公開されます。
UI オートメーション プロパティの詳細については、「 クライアントの UI オートメーション プロパティ」を参照してください。
| UI オートメーション プロパティ | 価値 | 注記 |
|---|---|---|
| AutomationIdProperty | 「ノート」を参照してください。 | このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。 |
| BoundingRectangleProperty | 「ノート」を参照してください。 | コントロール全体を格納する最も外側の四角形。 |
| IsKeyboardFocusableProperty | 「ノート」を参照してください。 | コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。 |
| NameProperty | Null |
スクロール バー コントロールにはコンテンツ要素がないため、 NameProperty を設定する必要はありません。 |
| ClickablePointProperty | 数値ではありません。 | スクロール バー コントロールにはクリック可能なポイントがありません。 |
| LabeledByProperty | Null |
スクロール バーにはラベルがありません。 |
| ControlTypeProperty | スクロールバー | この値はすべてのフレームワークで同じです。 スライダーとして機能するスクロール バーでは、スライダー コントロールの種類を使用する必要があります。 |
| LocalizedControlTypeProperty | "スクロール バー" | Button コントロール型に対応するローカライズされた文字列。 |
| IsContentElementProperty | いいえ | スクロール バー コントロールがコンテンツ要素になることはありません。 スクロール バーがスタンドアロン コントロールの場合は、Slider コントロールの種類を満たし、ControlType.Slider プロパティのControlTypeを返す必要があります。 |
| IsControlElementProperty | 正しい | スクロール バーは常にコントロールである必要があります。 |
| OrientationProperty | 正しい | スクロール バー コントロールは、常に水平方向または垂直方向を公開する必要があります。 |
必要な UI オートメーション コントロール パターン
次の表に、スクロール バー コントロールでサポートするために必要な UI オートメーション コントロール パターンを示します。 コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。 スクロール バーをマウス操作専用のコントロールとして使用する場合、コントロール パターンはサポートされないことに注意してください。 アプリケーション内でスライダー コントロールとして使用する場合は、Slider コントロールの種類を指定する必要があります。
| コントロール パターン | 支援 | 注記 |
|---|---|---|
| IScrollProvider | 決してない | スクロール コントロール パターンは、スクロール バーで直接サポートされることはありません。 |
| IRangeValueProvider | 依存 | この機能は、スクロール バーがあるコンテナーで Scroll コントロール パターンがサポートされていない場合にのみサポートする必要があります。 |
必要な UI オートメーション イベント
次の表に、すべてのスクロール バー コントロールでサポートされる必要がある UI オートメーション イベントの一覧を示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。
| UI オートメーション イベント | サポート/値 | 注記 |
|---|---|---|
| BoundingRectangleProperty プロパティ変更イベント。 | 必須 | 無し |
| IsOffscreenProperty プロパティ変更イベント。 | 必須 | 無し |
| IsEnabledProperty プロパティ変更イベント。 | 必須 | 無し |
| HorizontallyScrollableProperty プロパティ変更イベント。 | 決してない | 無し |
| HorizontalScrollPercentProperty プロパティ変更イベント。 | 決してない | 無し |
| HorizontalViewSizeProperty プロパティ変更イベント。 | 決してない | 無し |
| VerticalScrollPercentProperty プロパティ変更イベント。 | 決してない | 無し |
| VerticallyScrollableProperty プロパティ変更イベント。 | 決してない | 無し |
| VerticalViewSizeProperty プロパティ変更イベント。 | 決してない | 無し |
| ValueProperty プロパティ変更イベント。 | 依存 | 無し |
| AutomationFocusChangedEvent | 必須 | 無し |
| StructureChangedEvent | 必須 | 無し |