UI オートメーションによる ListItem コントロール型のサポート

Note

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

このトピックでは、ListItem コントロール型での UI オートメーションのサポートに関する情報を提供します。 UI オートメーションでのコントロール型とは、コントロールで ControlTypeProperty プロパティを使用するために満たす必要がある条件のセットのことです。 この条件には、UI オートメーション ツリーの構造、UI オートメーションのプロパティ値、コントロール パターンに関する特定のガイドラインが含まれます。

ListItem コントロール型を実装するコントロールの例として、リスト項目コントロールなどがあります。

以降のセクションでは、ListItem コントロール型に必要な UI オートメーション ツリーの構造、プロパティ、コントロール パターン、イベントを定義します。 この UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、または Windows フォームのいずれにおいても、すべてのリスト コントロールに適用されます。

必須の UI オートメーション ツリー構造

次の表に、リスト項目コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、それぞれのビューに含めることができる内容について説明します。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー
ListItem

- Image (0 以上)
- Text (0 以上)
- Edit (0 以上)
ListItem

UI オートメーション ツリーのコンテンツ ビュー内のリスト項目コントロールの子は、常に "0" である必要があります。 リスト項目の下に他の項目が含まれるような構造を持つコントロールは、「UI オートメーションによる TreeItem コントロール型のサポート」のコントロール型の要件に従う必要があります。

必須の UI オートメーション プロパティ

次の表に、リスト項目コントロールに特に関連する値または定義を持つ UI オートメーション プロパティを示します。 UI オートメーション プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

UI Automation のプロパティ Notes
AutomationIdProperty 「ノート」を参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty 「ノート」を参照してください。 このプロパティのこの値には、リスト項目のイメージおよびテキスト コンテンツの領域を含める必要があります。
ClickablePointProperty 依存 リスト コントロールにクリック可能なポイント (クリックするとリストがフォーカスを受け取るポイント) がある場合、このプロパティでそのポイントを公開する必要があります。 リスト コントロールが子孫のリスト項目に完全に覆われている場合は、クリック可能なポイントがないかリスト コントロール内の項目を調べる必要があることをクライアントに示すために、 NoClickablePointException を生成します。
NameProperty 「ノート」を参照してください。 リスト項目コントロールの名前プロパティの値は、その項目のテキスト コンテンツから取得されます。
LabeledByProperty 「ノート」を参照してください。 静的なテキスト ラベルがある場合、このプロパティは対象のコントロールへの参照を公開する必要があります。
ControlTypeProperty ListItem この値は、すべての UI フレームワークで同じです。
LocalizedControlTypeProperty "リスト項目" ListItem コントロール型に対応するローカライズされた文字列。
IsContentElementProperty このリスト コントロールは、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。
IsControlElementProperty True このリスト コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。
IsKeyboardFocusableProperty コンテナーがキーボード入力を受け取ることができる場合、このプロパティ値は true である必要があります。
HelpTextProperty "" リスト コントロールのヘルプ テキストは、オプションのリストから選択することをユーザーに求める理由を説明するものでなければなりません。一般には、ツールヒントに表示する情報と同様の内容になります。 たとえば、「項目を選択してモニターのディスプレイ解像度を設定してください」などです。
ItemTypeProperty 依存 このプロパティは、基になるオブジェクトを表しているリスト項目コントロールに対して公開される必要があります。 そのようなリスト項目コントロールには、通常、ユーザーが基になるオブジェクトと関連付けたコントロールに関連付けられたアイコンがあります。
IsOffscreenProperty 依存 このプロパティは、そのリスト項目が現在、スクロール コントロール パターンを実装した親コンテナー内でスクロールして表示されているかどうかを示す値を返す必要があります。

必須の UI オートメーション コントロール パターン

次の表に、リスト項目コントロールでサポートされる必要がある UI オートメーションのコントロール パターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。

コントロール パターン サポート Notes
ISelectionItemProvider はい リスト項目コントロールには、このコントロール パターンを実装する必要があります。 これにより、リスト項目コントロールは、選択されたことを伝達できます。
IScrollItemProvider 依存 このリスト項目がスクロール可能なコンテナーに格納されている場合には、このコントロール パターンを実装する必要があります。
IToggleProvider 依存 このリスト項目がチェック可能で、アクションによって選択状態の変更が実行されない場合には、このコントロール パターンを実装する必要があります。
IExpandCollapseProvider 依存 この項目を操作して情報を表示または非表示にできる場合は、このコントロール パターンを実装する必要があります。
IValueProvider 依存 この項目が編集可能である場合は、このコントロール パターンを実装する必要があります。 このリスト項目コントロールを変更すると、 NamePropertyおよび Valueの値が変更されます。
IGridItemProvider 依存 リスト コンテナー内で項目間の空間的移動がサポートされており、コンテナーが行と列に配置されている場合は、グリッド項目コントロール パターンを実装する必要があります。
IInvokeProvider 依存 この項目に、この項目自体に対して実行できる選択以外のコマンドがある場合には、このパターンを実装する必要があります。 これは通常、リスト項目コントロールのダブルクリックに関連付けられたアクションです。 たとえば、Microsoft Windows エクスプローラーからドキュメントを開いたり、Microsoft Windows Media Player で音楽ファイルを再生したりすることなどです。

必須の UI オートメーション イベント

次の表に、すべてのリスト項目コントロールでサポートされる必要がある UI オートメーション イベントを示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。

UI オートメーション イベント サポート Notes
InvokedEvent 依存 なし
ElementAddedToSelectionEvent 必須 なし
ElementRemovedFromSelectionEvent 必須 なし
ElementSelectedEvent 必須 なし
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
NameProperty 必須 なし
ItemStatusProperty プロパティ変更イベント。 依存 なし
ExpandCollapseStateProperty プロパティ変更イベント。 依存 なし
ValueProperty プロパティ変更イベント。 依存 なし
ToggleStateProperty プロパティ変更イベント。 依存 なし
AutomationFocusChangedEvent 必須 なし
StructureChangedEvent 必須 なし

関連項目