次の方法で共有


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

更新 : 2007 年 11 月

ここでは、イベントやプロパティに関する情報など、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 オートメーション ツリーの概要