次の方法で共有


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

このドキュメントは、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)
- 画像 (0 または 1)
- ボタン (0 または 1)
- TreeItem (0 以上)
TreeItem

- TreeItem (0 以上)

ツリー項目コントロールは、UI オートメーション ツリーのコンテンツ ビューに 0 個以上のツリー項目の子を含めることができます。 ツリー項目コントロールに、以下に示すコントロール パターンで公開されている機能を超える機能がある場合、コントロールはデータ項目コントロールの種類に基づく必要があります。

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

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

必要な UI オートメーション プロパティ

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

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

必要な UI オートメーション コントロール パターン

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

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

必要な UI オートメーション イベント

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

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

こちらも参照ください