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

Note

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

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

TreeItem コントロール型は、ツリー コンテナー内のノードを表します。 各ノードには、"子ノード" と呼ばれるその他のノードが含まれている可能性があります。 親ノード (子ノードを含むノード) は、展開した状態または折りたたんだ状態で表示できます。

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

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

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

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

- CheckBox (0 または 1)
- Image (0 または 1)
- Button (0 または 1)
- TreeItem (0 以上)
TreeItem

- TreeItem (0 以上)

ツリー項目コントロールは、UI オートメーション ツリーのコンテンツ ビューに 0 個以上のツリー項目の子を持つことができます。 ツリー項目コントロールに次に示すコントロール パターンで公開されている以外の機能がある場合は、コントロールは Data Item コントロール型に基づく必要があります。

折りたたまれているツリー項目は、展開して表示される (または、スクロールして表示される) まで、コントロール ビューまたはコンテンツ ビューに表示されません。

コントロール ビューには、関連付けられているイメージやボタンなど、コントロールの追加の詳細を含めることができます。 たとえば、アウトライン表示の項目には、イメージの他にアウトラインを展開または折りたたむボタンが含まれる場合があります。 これらの詳細オブジェクトは、情報が親のツリー項目によって既に表されているため、コンテンツ ビューに表示されません。 画面の外にスクロールされたツリー項目が UI オートメーション ツリーのコントロール ビューとコンテンツ ビューの両方に表示されます。それらの IsOffscreenProperty は true に設定する必要があります。

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

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

UI Automation のプロパティ Notes
AutomationIdProperty 「ノート」を参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
ClickablePointProperty 「ノート」を参照してください。 このプロパティは、選択状態を変更またはフォーカスを設定する項目を原因となるアイテムの場所を返す必要があります。
ControlTypeProperty TreeItem この値は、すべての UI フレームワークで同じです。
IsContentElementProperty このリスト コントロールは、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。
IsControlElementProperty True このリスト コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。
IsOffscreenProperty 「ノート」を参照してください。 このプロパティは、ツリー項目コントロールが画面の外にスクロールされたことを示すために設定します。
IsKeyboardFocusableProperty 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
ItemTypeProperty 「ノート」を参照してください。 ツリー項目コントロールで、特定の型のオブジェクトであることを示すために表示されるアイコンを使用する場合、このプロパティをサポートし、オブジェクトの種類を指定する必要があります。
LabeledByProperty Null ツリー項目コントロールは、自動的にラベル付けされます。
LocalizedControlTypeProperty "tree item" TreeItem コントロール型に対応するローカライズされた文字列。
NameProperty 「ノート」を参照してください。 このプロパティは、各ツリー項目コントロールに表示されるテキストを公開します。

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

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

コントロール パターン/パターン プロパティ サポート/値 Notes
IInvokeProvider 依存 ツリー項目に操作可能な別のコマンドがある場合は、このコントロール パターンを実装します。
IExpandCollapseProvider はい すべてのツリー項目を展開または折りたたむことができます。
ExpandCollapseState 展開されたノード、折りたたまれたノード、またはリーフ ノード ツリー項目は、展開されたり、折りたたまれたりしない場合は、リーフ ノードになります。
IScrollItemProvider 依存 ツリー コンテナーが Scroll コントロール パターンをサポートする場合、このコントロール パターンを実装します。
ISelectionItemProvider 依存 ユーザーがツリー コンテナーに戻るときに、アクティブな選択を保持することができる場合、このコントロール パターンを実装します。
SelectionContainer はい このプロパティは、コンテナー内のすべての項目に対して同じコンテナーを公開します。
IToggleProvider 依存 ツリー項目に関連付けられたチェック ボックスがある場合、このコントロール パターンを実装します。

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

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

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

関連項目