UI オートメーション Scroll コントロール パターンの実装
更新 : 2007 年 11 月
ここでは、イベントやプロパティに関する情報など、IScrollProvider を実装するガイドラインと規則について説明します。追加参照へのリンクはトピックの最後に示します。
ScrollPattern コントロール パターンは、子オブジェクトのコレクションのスクロール可能なコンテナとして機能するコントロールをサポートするために使用します。このコントロールは、一般的にはスクロール バーを使用してスクロール機能をサポートしますが、その必要はありません。
スクロール バーを使用しないスクロール コントロールの例
このコントロールを実装するコントロールの例については、「UI オートメーション クライアントのコントロール パターン マッピング」を参照してください。
このトピックには次のセクションが含まれています。
- 実装のガイドラインと規則
- IScrollProvider の必須メンバ
- 例外
- 関連トピック
実装のガイドラインと規則
Scroll コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。
このコントロールの子は、IScrollItemProvider を実装する必要があります。
コンテナ コントロールのスクロール バーは、ScrollPattern コントロール パターンをサポートしません。代わりに、RangeValuePattern コントロール パターンをサポートする必要があります。
スクロールをパーセンテージで計測する場合、スクロールの目盛りに関連するすべての値または量を 0 ~ 100 の範囲に標準化する必要があります。
HorizontallyScrollableProperty および VerticallyScrollableProperty は、IsEnabledProperty に依存しません。
HorizontallyScrollableProperty が false の場合、HorizontalViewSizeProperty は 100% に設定され、HorizontalScrollPercentProperty は NoScroll に設定されます。同様に、VerticallyScrollableProperty が false の場合、VerticalViewSizeProperty は 100% に設定され、VerticalScrollPercentProperty は NoScroll に設定されます。これにより、UI オートメーション クライアントは、これらのプロパティ値を SetScrollPercent メソッド内で使用できます。クライアントがスクロールを必要としない方向がアクティブになっても、競合状態を回避できます。
HorizontalScrollPercent はロケール固有です。HorizontalScrollPercent を 100.0 に設定するには、英語のように左から右に読む言語の場合、コントロールのスクロール位置を右端と同等の位置に設定する必要があります。また、アラビア語のように右から左に読む言語の場合、HorizontalScrollPercent を 100.0 に設定するには、スクロール位置を左端の位置に設定する必要があります。
IScrollProvider の必須メンバ
次のプロパティとメソッドは、IScrollProvider の実装時に必要です。
必須メンバ |
メンバ型 |
説明 |
---|---|---|
プロパティ |
なし |
|
プロパティ |
なし |
|
プロパティ |
なし |
|
プロパティ |
なし |
|
プロパティ |
なし |
|
プロパティ |
なし |
|
メソッド |
なし |
|
メソッド |
なし |
このコントロール パターンに関連付けられたイベントはありません。
例外
プロバイダは次の例外をスローする必要があります。
例外の種類 |
条件 |
---|---|
Scroll は、コントロールが水平方向スクロールまたは垂直方向スクロールのためだけに SmallIncrement 値をサポートしているが、LargeIncrement 値が渡された場合に、この例外をスローします。 |
|
SetScrollPercent は、倍精度浮動小数点数に変換できない値が渡された場合に、この例外をスローします。 |
|
SetScrollPercent は、100 より大きい、または 0 より小さい値が渡された (NoScroll と等価の -1 を除く) 場合に、この例外をスローします。 |
|
Scroll および SetScrollPercent は、サポートされていない方向にスクロールしようとした場合に、この例外をスローします。 |
参照
処理手順
UI オートメーション プロバイダでのコントロール パターンのサポート