UI オートメーションによる DataGrid コントロール型のサポートUI Automation Support for the DataGrid Control Type

注意

このドキュメントは、UI オートメーションUI Automation 名前空間で定義されているマネージド System.Windows.Automation クラスを使用する .NET Framework 開発者を対象としています。This documentation is intended for .NET Framework developers who want to use the managed UI オートメーションUI Automation classes defined in the System.Windows.Automation namespace. UI オートメーションUI Automationの最新情報については、「 Windows Automation API: UI オートメーション」を参照してください。For the latest information about UI オートメーションUI Automation, see Windows Automation API: UI Automation.

このトピックでは、DataGrid コントロール型の Microsoft UI オートメーションMicrosoft UI Automation サポートに関する情報を提供します。This topic provides information about Microsoft UI オートメーションMicrosoft UI Automation support for the DataGrid control type. UI オートメーションUI Automationでのコントロール型とは、コントロールが ControlType プロパティを使用するために満たす必要がある一連の条件のことです。In UI オートメーションUI Automation, a control type is a set of conditions that a control must meet in order to use the ControlType property. 条件には、 UI オートメーションUI Automation ツリー構造、 UI オートメーションUI Automation プロパティの値、コントロール パターンに関する特定のガイドラインが含まれます。The conditions include specific guidelines for UI オートメーションUI Automation tree structure, UI オートメーションUI Automation property values and control patterns.

DataGrid コントロール型により、列で表されるメタデータを含む項目をユーザーが簡単に扱うことができます。The DataGrid control type lets a user easily work with items that contain metadata represented in columns. データ グリッド コントロールでは、項目の行と、それらの項目に関する情報の列があります。Data grid controls have rows of items and columns of information about those items. Microsoft Vista Explorer のリスト ビュー コントロールは、DataGrid コントロール型をサポートする例です。A List View control in Microsoft Vista Explorer is an example that supports the DataGrid control type.

以下の各セクションで、DataGrid コントロール型に必要な UI オートメーションUI Automation ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。The following sections define the required UI オートメーションUI Automation tree structure, properties, control patterns, and events for the DataGrid control type. UI オートメーションUI Automation の要件は、 Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)Win32Win32Windows フォームWindows Formsのいずれの場合も、すべてのデータ グリッド コントロールに適用されます。The UI オートメーションUI Automation requirements apply to all data grid controls, whether Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF), Win32Win32, or Windows フォームWindows Forms.

必須の UI オートメーション ツリー構造Required UI Automation Tree Structure

次の表では、データ グリッド コントロールに関連する UI オートメーションUI Automation ツリーのコントロール ビューとコンテンツ ビューを示し、それぞれのビューに含まれる可能性のある内容について説明します。The following table depicts the control view and the content view of the UI オートメーションUI Automation tree that pertains to data grid controls and describes what can be contained in each view. UI オートメーションUI Automation ツリーの詳細については、「 UI オートメーションツリーの概要」を参照してください。For more information about the UI オートメーションUI Automation tree, see UI Automation Tree Overview.

UI オートメーションUI Automation ツリー - コントロール ビューTree - Control View UI オートメーションUI Automation ツリー - コンテンツ ビューTree - Content View
DataGridDataGrid

  • Header (0、1、または 2)Header (0, 1, or 2)

    • HeaderItem (列または行の数)HeaderItem (number of columns or rows)
  • DataItem (0 以上。階層で構造化できます)DataItem (0 or more; can be structured in hierarchy)
DataGridDataGrid

-DataItem (0 以上。階層で構造化できます)- DataItem (0 or more; can be structured in hierarchy)

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

次の表に、データ グリッド コントロールに特に関連する値または定義を持つプロパティを示します。The following table lists the properties whose value or definition is especially relevant to data grid controls. UI オートメーションUI Automation のプロパティの詳細については、「クライアントの UI オートメーションのプロパティ」を参照してください。For more information on UI オートメーションUI Automation properties, see UI Automation Properties for Clients.

プロパティProperty Value メモNotes
AutomationIdProperty 「ノート」を参照。See notes. このプロパティの値は、アプリケーションのすべてのコントロールで一意である必要があります。The value of this property needs to be unique across all controls in an application.
BoundingRectangleProperty 「ノート」を参照。See notes. コントロール全体を格納する最も外側の四角形。The outermost rectangle that contains the whole control.
ClickablePointProperty 「ノート」を参照。See notes. 四角形領域が存在する場合にサポートされます。Supported if there is a bounding rectangle. 四角形領域の内側にクリック不可能な点が存在し、特別なヒット テストを実行する場合は、クリック可能な点をオーバーライドして提供します。If not every point within the bounding rectangle is clickable, and you perform specialized hit testing, then override and provide a clickable point.
ControlTypeProperty DataGridDataGrid この値は、すべての UI フレームワークで同じです。This value is the same for all UI frameworks.
IsContentElementProperty TrueTrue このプロパティの値は、常に True にする必要があります。The value of this property must always be True. つまり、データ グリッド コントロールが常に UI オートメーションUI Automation ツリーのコンテンツ ビューに存在している必要があります。This means that the data grid control must always be in the content view of the UI オートメーションUI Automation tree.
IsControlElementProperty TrueTrue このプロパティの値は、常に True にする必要があります。The value of this property must always be True. つまり、データ グリッド コントロールが常に UI オートメーションUI Automation ツリーのコンテンツ ビューに存在している必要があります。This means that the data grid control must always be in the control view of the UI オートメーションUI Automation tree.
IsKeyboardFocusableProperty 「ノート」を参照。See notes. コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。If the control can receive keyboard focus, it must support this property.
LabeledByProperty 「ノート」を参照。See notes. 静的なテキスト ラベルがある場合、このプロパティは対象のコントロールへの参照を公開する必要があります。If there is a static text label then this property must expose a reference to that control.
LocalizedControlTypeProperty "データ グリッド""data grid" DataGrid コントロール型に対応するローカライズされた文字列。Localized string corresponding to the DataGrid control type.
NameProperty 「ノート」を参照。See notes. データ グリッド コントロールは、通常、静的テキスト ラベルから Name プロパティの列を取得します。The data grid control typically gets the value for its Name property from a static text label. 静的なテキスト ラベルがない場合は、アプリケーション開発者が Name のプロパティ値を割り当てる必要があります。If there is not a static text label an application developer must assign a value to for the Name property. Name プロパティの値が、編集コントロールのテキストの内容になることは決してありません。The value of the Name property must never be the textual contents of the edit control.

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

次の表に、すべてのデータ グリッド コントロールでサポートされなければならないコントロール パターンを示します。The following table lists the control patterns required to be supported by all data grid controls. コントロール パターンについて詳しくは、「 UI Automation Control Patterns Overview」をご覧ください。For more information about control patterns, see UI Automation Control Patterns Overview.

コントロール パターンControl Pattern サポートSupport メモNotes
IGridProvider はいYes データ グリッド コントロール自体は、メタデータを格納する項目がグリッドに配置されるため、常に、グリッド コントロール パターンをサポートします。The data grid control itself always supports the Grid control pattern because the items that it contains metadata that is laid out in a grid.
IScrollProvider 依存Depends データ グリッドをスクロールする機能はコンテンツ、およびスクロール バーが存在するかどうかによって異なります。The ability to scroll the data grid depends on content and whether scroll bars are present.
ISelectionProvider 依存Depends データ グリッドを選択する機能は、コンテンツに依存します。The ability to select the data grid depends on content.
ITableProvider はいYes データ グリッド コントロールはサブツリー内に常にヘッダーがあるため、Table コントロール パターンがサポートされる必要があります。The data grid control always has a header within its subtree so the Table control pattern must be supported.

データ グリッド コンテナー内のデータ項目は、少なくとも次をサポートします。Data items within the data grid containers will support at a minimum:

  • 選択項目コントロール パターン (データ グリッドが選択可能な場合)Selection Item control pattern (if the data grid is selectable)

  • スクロール項目コントロール パターン (データ グリッドがスクロール可能な場合)Scroll Item control pattern (if the data grid is scrollable)

  • グリッド項目コントロール パターンGrid Item control pattern

  • テーブル項目コントロール パターンTable Item control pattern

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

次の表に、すべてのデータ グリッド コントロールでサポートされなければならない UI オートメーションUI Automation イベントを示します。The following table lists the UI オートメーションUI Automation events required to be supported by all data grid controls. イベントについて詳しくは、「 UI Automation Events Overview」をご覧ください。For more information about events, see UI Automation Events Overview.

UI オートメーションUI Automation イベントEvent サポートSupport メモNotes
AutomationFocusChangedEvent 必須Required なしNone
BoundingRectangleProperty プロパティ変更イベント。BoundingRectangleProperty property-changed event. 必須Required なしNone
IsEnabledProperty プロパティ変更イベント。IsEnabledProperty property-changed event. 必須Required なしNone
IsOffscreenProperty プロパティ変更イベント。IsOffscreenProperty property-changed event. 必須Required なしNone
LayoutInvalidatedEvent 依存Depends なしNone
StructureChangedEvent 必須Required なしNone
CurrentViewProperty プロパティ変更イベント。CurrentViewProperty property-changed event. 依存Depends なしNone
HorizontallyScrollableProperty プロパティ変更イベント。HorizontallyScrollableProperty property-changed event. 依存Depends コントロールで Scroll パターンをサポートする場合は、このイベントをサポートする必要があります。If the control supports the Scroll pattern, it must support this event.
HorizontalScrollPercentProperty プロパティ変更イベント。HorizontalScrollPercentProperty property-changed event. 依存Depends コントロールで Scroll パターンをサポートする場合は、このイベントをサポートする必要があります。If the control supports the Scroll pattern, it must support this event.
HorizontalViewSizeProperty プロパティ変更イベント。HorizontalViewSizeProperty property-changed event. 依存Depends コントロールで Scroll パターンをサポートする場合は、このイベントをサポートする必要があります。If the control supports the Scroll pattern, it must support this event.
VerticalScrollPercentProperty プロパティ変更イベント。VerticalScrollPercentProperty property-changed event. 依存Depends コントロールで Scroll パターンをサポートする場合は、このイベントをサポートする必要があります。If the control supports the Scroll pattern, it must support this event.
VerticallyScrollableProperty プロパティ変更イベント。VerticallyScrollableProperty property-changed event. 依存Depends コントロールで Scroll パターンをサポートする場合は、このイベントをサポートする必要があります。If the control supports the Scroll pattern, it must support this event.
VerticalViewSizeProperty プロパティ変更イベント。VerticalViewSizeProperty property-changed event. 依存Depends コントロールで Scroll パターンをサポートする場合は、このイベントをサポートする必要があります。If the control supports the Scroll pattern, it must support this event.
InvalidatedEvent 必須Required なしNone

データ グリッド コントロール型の例Date Grid Control Type Example

次の図に、DataGrid コントロール型を実装するリスト ビュー コントロールを示します。The following image illustrates a List View control that implements the DataGrid control type.

2つのデータ項目を持つリストビューコントロールのグラフィックGraphic of a List View control with two data items

以下には、リスト ビュー コントロールに関連する UI オートメーションUI Automation ツリーのコントロール ビューとコンテンツ ビューが表示されています。The control view and the content view of the UI オートメーションUI Automation tree that pertains to the List View control is displayed below. オートメーションの各要素のコントロール パターンが、かっこ内に示されています。The control patterns for each automation element are shown in parentheses.

UI オートメーションUI Automation ツリー - コントロール ビューTree - Control View UI オートメーションUI Automation ツリー - コンテンツ ビューTree - Content View
  • DataGrid (Table、Grid、Selection)DataGrid (Table, Grid, Selection)
  • HeaderHeader

    • HeaderItem "Name" (Invoke)HeaderItem "Name" (Invoke)
    • HeaderItem "Date Modified" (Invoke)HeaderItem "Date Modified" (Invoke)
    • HeaderItem "Size" (Invoke)HeaderItem "Size" (Invoke)
  • グループ "Contoso" (TableItem、GridItem、SelectionItem、Table *、Grid*)Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts. doc" (SelectionItem、Invoke、TableItem*、GridItem*)DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts GridItem" (SelectionItem、Invoke、TableItem*、*)DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
  • DataGrid (Table、Grid、Selection)DataGrid (Table, Grid, Selection)
  • グループ "Contoso" (TableItem、GridItem、SelectionItem、Table *、Grid*)Group "Contoso" (TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts. doc" (SelectionItem、Invoke、TableItem*、GridItem*)DataItem "Accounts Receivable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)
    • DataItem "Accounts GridItem" (SelectionItem、Invoke、TableItem*、*)DataItem "Accounts Payable.doc" (SelectionItem, Invoke, TableItem*, GridItem*)

前の例 * は、複数のレベルのコントロールを含む DataGrid を示しています。* The previous example shows a DataGrid that contains multiple levels of controls. グループ ("Contoso") のコントロールには、2 つのDataItem コントロール ("Accounts Receivable.doc" および "Accounts Payable.doc") が含まれています。The Group ("Contoso") control contains two DataItem controls ("Accounts Receivable.doc" and "Accounts Payable.doc"). DataGrid と GridItem ペアは、他のレベルのペアから独立しています。A DataGrid/GridItem pair is independent of a pair at another level. グループの下にある DataItem コントロールは、ListItem コントロール型として公開することもでき、単純なデータ要素としてではなく、選択可能オブジェクトとして、より明確に提示することができます。The DataItem controls under a Group can also be exposed as a ListItem control type, enabling them to be presented more clearly as selectable objects, rather than as simple data elements. この例では、グループ化されたデータ項目のサブ要素は含まれません。This example does not include the sub-elements of the grouped data items.

関連項目See also