UI オートメーション Scroll コントロール パターンの実装

メモメモ

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージ UI Automation クラスを使用する .NET Framework 開発者を対象としています。UI Automationに関する最新情報については、「Windows Automation API: UI Automation (Windows オートメーション API: UI オートメーション)」を参照してください。

ここでは、イベントやプロパティに関する情報など、IScrollProvider を実装するガイドラインと規則について説明します。 追加参照へのリンクはトピックの最後に示します。

ScrollPattern コントロール パターンは、子オブジェクトのコレクションのスクロール可能なコンテナーとして機能するコントロールをサポートするために使用します。 このコントロールは、一般的にはスクロール バーを使用してスクロール機能をサポートしますが、その必要はありません。

スクロール バーを使用しないスクロール コントロールの例

スクロール バーのないスクロール コントロール。

このコントロールを実装するコントロールの例については、「UI オートメーション クライアントのコントロール パターン マッピング」を参照してください。

このトピックは、次のセクションで構成されています。

  • 実装のガイドラインと規則
  • IScrollProvider の必須メンバー
  • 例外
  • 関連トピック

実装のガイドラインと規則

Scroll コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。

  • このコントロールの子は、IScrollItemProvider を実装する必要があります。

  • コンテナー コントロールのスクロール バーは、ScrollPattern コントロール パターンをサポートしません。 代わりに、RangeValuePattern コントロール パターンをサポートする必要があります。

  • スクロールをパーセンテージで計測する場合、スクロールの目盛りに関連するすべての値または量を 0 ~ 100 の範囲に標準化する必要があります。

  • HorizontallyScrollableProperty および VerticallyScrollableProperty は、IsEnabledProperty に依存しません。

  • HorizontallyScrollableProperty が false の場合、HorizontalViewSizeProperty は 100% に設定され、HorizontalScrollPercentPropertyNoScroll に設定されます。 同様に、VerticallyScrollableProperty が false の場合、VerticalViewSizeProperty は 100% に設定され、VerticalScrollPercentPropertyNoScroll に設定されます。 これにより、UI オートメーション クライアントは、これらのプロパティ値を SetScrollPercent メソッド内で使用できます。クライアントがスクロールを必要としない方向がアクティブになっても、競合状態を回避できます。

  • HorizontalScrollPercent はロケール固有です。 HorizontalScrollPercent を 100.0 に設定するには、英語のように左から右に読む言語の場合、コントロールのスクロール位置を右端と同等の位置に設定する必要があります。 また、アラビア語のように右から左に読む言語の場合、HorizontalScrollPercent を 100.0 に設定するには、スクロール位置を左端の位置に設定する必要があります。

IScrollProvider の必須メンバー

次のプロパティとメソッドは、IScrollProvider の実装時に必要です。

必須メンバー

メンバー型

説明

HorizontalScrollPercent

プロパティ

なし

VerticalScrollPercent

プロパティ

なし

HorizontalViewSize

プロパティ

なし

VerticalViewSize

プロパティ

なし

HorizontallyScrollable

プロパティ

なし

VerticallyScrollable

プロパティ

なし

Scroll

メソッド

なし

SetScrollPercent

メソッド

なし

このコントロール パターンに関連付けられたイベントはありません。

例外

プロバイダーは次の例外をスローする必要があります。

例外の種類

状態

ArgumentException

Scroll は、コントロールが水平方向スクロールまたは垂直方向スクロールのためだけに SmallIncrement 値をサポートしているが、LargeIncrement 値が渡された場合に、この例外をスローします。

ArgumentException

SetScrollPercent は、倍精度浮動小数点数に変換できない値が渡された場合に、この例外をスローします。

ArgumentOutOfRangeException

SetScrollPercent は、100 より大きい、または 0 より小さい値が渡された (NoScroll と等価の -1 を除く) 場合に、この例外をスローします。

InvalidOperationException

Scroll および SetScrollPercent は、サポートされていない方向にスクロールしようとした場合に、この例外をスローします。

参照

処理手順

UI オートメーション プロバイダーでのコントロール パターンのサポート

UI オートメーションにおけるキャッシュの使用

概念

UI オートメーション コントロール パターンの概要

クライアントの UI オートメーション コントロール パターン

UI オートメーション ツリーの概要