DataGrid コントロールの種類
このトピックでは、DataGrid コントロールの種類に対する Microsoft UI オートメーション のサポートについて説明します。
DataGrid コントロール型を使用すると、ユーザーは列または行に表示されるデータ要素またはオートメーション要素を含む項目を簡単に操作できます。 データ グリッド コントロールでは、項目の行と、それらの項目に関する情報の列があります。 Windows Vista エクスプローラーのリスト ビュー コントロールは、DataGrid コントロールの種類をサポートする例です。
次のセクションでは、DataGrid コントロール型に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーション要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンのサポートUI オートメーション統合するすべてのデータ グリッド コントロールに適用されます。
このトピックは、次のセクションで構成されています。
一般的なツリー構造
次の表は、データ グリッド コントロールに関連するUI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
|
|
関連するプロパティ
次の表に、値または定義が DataGrid コントロール型に特に関連するUI オートメーションプロパティの一覧を示します。 UI オートメーションプロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。
UI Automation のプロパティ | 値 | Notes |
---|---|---|
UIA_AutomationIdPropertyId | 「ノート」を参照してください。 | このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。 |
UIA_BoundingRectanglePropertyId | 「ノート」を参照してください。 | コントロール全体を格納する最も外側の四角形。 |
UIA_ClickablePointPropertyId | 「ノート」を参照してください。 | 四角形領域が存在する場合にサポートされます。 外接する四角形内のすべてのポイントがクリック可能でなく、要素が特殊なヒット テストを実行する場合は、オーバーライドしてクリック可能なポイントを指定します。 |
UIA_ControlTypePropertyId | DataGrid | |
UIA_IsContentElementPropertyId | true | このプロパティの値は常に TRUE である必要があります。 つまり、データ グリッド コントロールが常に UI オートメーション ツリーのコンテンツ ビューに存在している必要があります。 |
UIA_IsControlElementPropertyId | true | このプロパティの値は常に TRUE である必要があります。 つまり、データ グリッド コントロールは常に、UI オートメーション ツリーのコントロール ビューに含める必要があります。 |
UIA_IsKeyboardFocusablePropertyId | 「ノート」を参照してください。 | コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。 |
UIA_LabeledByPropertyId | 「ノート」を参照してください。 | 静的テキスト ラベルがある場合、このプロパティは、そのコントロールへの参照を公開する必要があります。 |
UIA_LocalizedControlTypePropertyId | 「ノート」を参照してください。 | DataGrid コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "データ グリッド" です。 |
UIA_NamePropertyId | 「ノート」を参照してください。 | 通常、データ グリッド コントロールは、静的テキスト ラベルから Name プロパティの値を取得します。 静的なテキスト ラベルがない場合、アプリケーション開発者は Name プロパティの に値を割り当てる必要があります。 Name プロパティの値は、編集コントロールのテキストコンテンツにすることはできません。 |
必須のコントロール パターン
次の表に、すべてのデータ グリッド コントロールでサポートするために必要なUI オートメーション コントロール パターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。
コントロール パターン | サポート | Notes |
---|---|---|
IGridProvider | 必須 | データ グリッド コントロール自体は常に Grid コントロール パターンをサポートします。これは、そのコントロールに含まれる項目にグリッドにレイアウトされたメタデータがあるためです。 |
IScrollProvider | 依存 | データ グリッドをスクロールする機能はコンテンツ、およびスクロール バーが存在するかどうかによって異なります。 |
ISelectionProvider | 依存 | データ グリッドを選択する機能は、コンテンツに依存します。 |
ITableProvider | 依存 | ヘッダーを持つデータ グリッド コントロールは、 Table コントロール パターンをサポートする必要があります。 |
データ グリッド コンテナー内のデータ項目は、少なくとも次をサポートします。
- SelectionItem コントロール パターン (データ グリッドが選択可能な場合)
- ScrollItem コントロール パターン (データ グリッドがスクロール可能な場合)
- GridItem コントロール パターン
- TableItem コントロール パターン (データ グリッドにヘッダーがある場合)
必須イベント
次の表に、データ グリッド コントロールがサポートするために必要なUI オートメーション イベントの一覧を示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。
UI オートメーション イベント | Notes |
---|---|
UIA_AutomationFocusChangedEventId | |
プロパティUIA_BoundingRectanglePropertyId 変更されたイベントです。 | |
プロパティUIA_IsEnabledPropertyId 変更されたイベントです。 | コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティUIA_IsOffscreenPropertyId 変更されたイベントです。 | コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。 |
UIA_LayoutInvalidatedEventId | |
UIA_StructureChangedEventId | |
プロパティ変更イベントUIA_MultipleViewCurrentViewPropertyId します。 | コントロールが MultipleView コントロール パターンの CurrentView プロパティをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティ変更イベントUIA_ScrollHorizontallyScrollablePropertyId します。 | コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティ変更イベントUIA_ScrollHorizontalScrollPercentPropertyId します。 | コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティUIA_ScrollHorizontalViewSizePropertyId 変更されたイベントです。 | コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティ変更イベントUIA_ScrollVerticalScrollPercentPropertyId します。 | コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティUIA_ScrollVerticallyScrollablePropertyId 変更されたイベントです。 | コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
プロパティUIA_ScrollVerticalViewSizePropertyId 変更されたイベントです。 | コントロールが Scroll コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。 |
UIA_Selection_InvalidatedEventId |
DataGrid コントロールの種類の例
次の図は、 DataGrid コントロール型を実装するリスト ビュー コントロールを示しています。
リスト ビュー コントロールに関連するUI オートメーション ツリーのコントロール ビューとコンテンツ ビューを次に示します。 オートメーションの各要素のコントロール パターンが、かっこ内に示されています。
UI オートメーション ツリー - コントロール ビュー | UI オートメーション ツリー - コンテンツ ビュー |
---|---|
DataGrid (Sort、Table、Selection、Grid)
|
DataGrid (Table、Grid、Selection)
|
*前の例は、複数のレベルのコントロールを含むデータ グリッドを示しています。 Group ("Contoso") コントロールには、2 つの DataItem コントロール ("Accounts Receivable.doc" と "Accounts Payable.doc") が含まれています。 DataGrid/GridItem ペアは、別のレベルのペアとは独立しています。 Group の下の DataItem コントロールは、ListItem コントロール型として公開することもできます。これにより、単純なデータ要素としてではなく、選択可能なオブジェクトとしてより明確に表示できます。 この例では、グループ化されたデータ項目のサブ要素は含まれません。 複数レベルのコントロールの別の例については、 DataItem コントロールの種類に関するページを参照してください。
関連トピック
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示