次の方法で共有


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

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

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

ツリー コントロールの種類は、Microsoft Windows エクスプローラーの左側のウィンドウにファイルとフォルダーを表示する方法と同様に、ノードの階層として関連性のあるコンテンツを持つコンテナーに使用されます。 各ノードには、子ノードと呼ばれる他のノードが含まれる可能性があります。 親ノードまたは子ノードを含むノードは、展開または折りたたみとして表示できます。

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

必要な UI オートメーション ツリー構造

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

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

  • DataItem (0 以上)
  • TreeItem (0 以上)

    • TreeItem (0 以上)• ...
  • ScrollBar (0、1、2)
ツリー

  • DataItem (0 以上)
  • TreeItem (0 以上)

    • TreeItem (0 以上)• ...

UI オートメーション ツリーのコントロール ビューは、次の要素で構成されます。

  • コンテナー内の 0 から多くの項目 (項目は、ツリー項目、データ項目、またはその他のコントロールの種類に基づくことができます)。

  • ゼロ、1 つまたは 2 つのスクロール バー。

UI オートメーション ツリーのコンテンツ ビューは、コンテナー内の 0 個または多数の項目で構成されます (項目は、ツリー項目、データ項目、またはその他のコントロールの種類に基づく場合があります)。

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

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

UI オートメーション プロパティ 価値 注記
AutomationIdProperty ノートを参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty ノートを参照してください。 コントロール全体を含む最も外側の四角形。
ClickablePointProperty ノートを参照してください。 ツリー コントロールにはクリック可能なポイントがあり、ツリーまたはツリー コンテナー内の 1 つの項目にフォーカスが設定されます。 ツリーのクリック可能なポイントは、項目の 1 つが選択またはフォーカスされない場所をクリックできる場合にのみ取得します。
ControlTypeProperty ツリー この値は、すべての UI フレームワークで同じです。
IsContentElementProperty 正しい ツリー コントロールは、常に UI オートメーション ツリーのコンテンツ ビューに含まれます。
IsControlElementProperty 正しい ツリー コントロールは、常に UI オートメーション ツリーのコントロール ビューに含まれます。
IsKeyboardFocusableProperty ノートを参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
LabeledByProperty ノートを参照してください。 ツリー コントロールにラベルが関連付けられている場合、このプロパティはそのラベルの AutomationElement を返します。 それ以外の場合、プロパティは null 参照 (Microsoft Visual Basic .NET でNothing ) を返します。
LocalizedControlTypeProperty "ツリー" List コントロール型に対応するローカライズされた文字列。
NameProperty ノートを参照してください。 ツリー コントロールの name プロパティの値は、通常、コントロールにラベルを付けます。 テキスト ラベルがない場合、アプリケーション開発者はこのプロパティの値を指定する必要があります。

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

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

Control Pattern/Pattern プロパティ サポート/値 注記
ISelectionProvider 依存 選択可能な項目のセットを含むツリー コントロールは、このコントロール パターンを実装する必要があります。 項目を選択しても意味のある情報がユーザーに伝わらない場合、このコントロール パターンを実装する必要はありません。
CanSelectMultiple ノートを参照してください。 ツリー コントロールが複数の選択をサポートしている場合は、このプロパティを実装します (ほとんどのツリー コントロールは複数の選択をサポートしていません)。
IsSelectionRequired ノートを参照してください。 コントロールで項目を選択する必要がある場合は、このプロパティの値が公開されます。
IScrollProvider 依存 ツリー コンテナーの内容をスクロールできる場合は、このコントロール パターンを実装します。

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

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

UI オートメーション イベント 支援 注記
InvalidatedEvent 依存 無し
BoundingRectangleProperty プロパティ変更イベント。 必須 無し
IsOffscreenProperty プロパティ変更イベント。 必須 無し
IsEnabledProperty プロパティ変更イベント。 必須 無し
HorizontallyScrollableProperty プロパティ変更イベント。 依存 無し
HorizontalScrollPercentProperty プロパティ変更イベント。 依存 無し
HorizontalViewSizeProperty プロパティ変更イベント。 依存 無し
VerticalScrollPercentProperty プロパティ変更イベント。 依存 無し
VerticallyScrollableProperty プロパティ変更イベント。 依存 無し
VerticalViewSizeProperty プロパティ変更イベント。 依存 無し
AutomationFocusChangedEvent 必須 無し
StructureChangedEvent 必須 無し

こちらも参照ください