UI オートメーションによる Tree コントロール型のサポート
Note
このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、Windows Automation API の「UI オートメーション」を参照してください。
このトピックでは、Tree コントロール型に対する UI オートメーションのサポートについて説明します。 UI オートメーションでのコントロール型とは、コントロールで ControlTypeProperty プロパティを使用するために満たす必要がある条件のセットのことです。 この条件には、UI オートメーション ツリーの構造、UI オートメーションのプロパティ値、コントロール パターンに関する特定のガイドラインが含まれます。
Tree コントロール型は、ファイルやフォルダーが Microsoft Windows エクスプローラーの左ペインに表示される場合のように、ノード階層の関係を持つコンテンツのコンテナーに使用されます。 各ノードに、子ノードと呼ばれる他のノードが含まれている可能性があります。 親ノード (子ノードを含むノード) は、展開した状態または折りたたんだ状態で表示できます。
以降のセクションでは、Tree コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、イベントを定義します。 この UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、または Windows フォームのいずれにおいても、すべてのツリー コントロールに適用されます。
必須の UI オートメーション ツリー構造
次の表に、ツリー コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、それぞれのビューに含めることができる内容について説明します。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
ツリー
|
ツリー
|
UI オートメーション ツリーのコントロール ビューは、次のものから構成されます。
コンテナー内の 0 個以上の項目 (項目は、Tree Item コントロール型、Data Item コントロール型、またはその他のコントロール型に基づいて設定できます)。
0、1、または 2 個のスクロール バー。
コンテンツ ビューの UI オートメーション ツリーは、コンテナー内の 0 個以上の項目から構成されます (項目は、Tree Item、Data Item、またはその他のコントロール型をベースにすることができます)。
必須の UI オートメーション プロパティ
次の表に、リスト コントロールに特に関連する値または定義を持つ UI オートメーション プロパティを示します。 UI オートメーション プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。
UI Automation のプロパティ | 値 | Notes |
---|---|---|
AutomationIdProperty | 「ノート」を参照してください。 | このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。 |
BoundingRectangleProperty | 「ノート」を参照してください。 | コントロール全体を格納する最も外側の四角形。 |
ClickablePointProperty | 「ノート」を参照してください。 | ツリー コントロールには、クリックするとツリーまたはツリー コンテナー内の 1 つの項目にフォーカスが設定される、クリック可能なポイントがあります。 ツリーのクリック可能なポイントを取得するのは、項目を 1 つ選択したり項目にフォーカスを設定したりすることなくクリックできる場所がある場合に限られます。 |
ControlTypeProperty | ツリー | この値は、すべての UI フレームワークで同じです。 |
IsContentElementProperty | ○ | ツリー コントロールは、UI オートメーション ツリーのコンテンツ ビューに常に含まれます。 |
IsControlElementProperty | True | ツリー コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。 |
IsKeyboardFocusableProperty | 「ノート」を参照してください。 | コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。 |
LabeledByProperty | 「ノート」を参照してください。 | ツリー コントロールにラベルが関連付けられている場合、このプロパティはそのラベルの AutomationElement を返します。 それ以外の場合、このプロパティからは null 参照 (Microsoft Visual Basic .NET の Nothing ) が返されます。 |
LocalizedControlTypeProperty | "ツリー" | List コントロール型に対応する、ローカライズされた文字列。 |
NameProperty | 「ノート」を参照してください。 | ツリー コントロールの名前プロパティの値は、通常、コントロールにラベルを付けるテキストから取得されます。 テキスト ラベルが存在しない場合は、アプリケーションの開発者がこのプロパティの値を提供する必要があります。 |
必須の UI オートメーション コントロール パターン
次の表に、リスト コントロールでサポートされる必要がある UI オートメーションのコントロール パターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。
コントロール パターン/パターン プロパティ | サポート/値 | Notes |
---|---|---|
ISelectionProvider | 依存 | 選択可能な一連の項目を含むツリー コントロールは、このコントロール パターンを実装する必要があります。 項目を選択してもユーザーに意味のある情報が伝達されない場合は、このコントロール パターンを実装する必要はありません。 |
CanSelectMultiple | 「ノート」を参照してください。 | ツリー コントロールが複数選択をサポートする場合、このプロパティを実装します (ほとんどのツリー コントロールは、複数選択をサポートしません)。 |
IsSelectionRequired | 「ノート」を参照してください。 | このプロパティの値は、コントロールで項目が選択される必要がある場合に公開されます。 |
IScrollProvider | 依存 | ツリー コンテナーのコンテンツがスクロールできる場合は、このコントロール パターンを実装します。 |
必須の UI オートメーション イベント
次の表に、すべてのツリー コントロールでサポートされる必要がある UI オートメーション イベントを示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。
UI オートメーション イベント | サポート | Notes |
---|---|---|
InvalidatedEvent | 依存 | なし |
BoundingRectangleProperty プロパティ変更イベント。 | 必須 | なし |
IsOffscreenProperty プロパティ変更イベント。 | 必須 | なし |
IsEnabledProperty プロパティ変更イベント。 | 必須 | なし |
HorizontallyScrollableProperty プロパティ変更イベント。 | 依存 | なし |
HorizontalScrollPercentProperty プロパティ変更イベント。 | 依存 | なし |
HorizontalViewSizeProperty プロパティ変更イベント。 | 依存 | なし |
VerticalScrollPercentProperty プロパティ変更イベント。 | 依存 | なし |
VerticallyScrollableProperty プロパティ変更イベント。 | 依存 | なし |
VerticalViewSizeProperty プロパティ変更イベント。 | 依存 | なし |
AutomationFocusChangedEvent | 必須 | なし |
StructureChangedEvent | 必須 | なし |