次の方法で共有


DataItem コントロールの種類

このトピックでは、DataItem コントロール型の Microsoft UI オートメーション サポートに関する情報を提供します。

連絡先リストのエントリは、データ項目コントロールの一例です。 データ項目コントロールには、エンド ユーザーに必要な情報が格納されます。 これは、より豊富な情報が格納されるため、単純なリスト項目よりも複雑になります。

次のセクションでは、DataItem コントロール型に必要なUI オートメーションツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーション要件は、UI フレームワーク/プラットフォームがコントロールの種類とコントロール パターンのサポートUI オートメーション統合するすべてのデータ項目コントロールに適用されます。

このトピックは、次のセクションで構成されています。

一般的なツリー構造

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

コントロール ビュー コンテンツ ビュー
  • DataItem
    • 多種多様 (0 以上。階層で構造化できます)
  • DataItem
    • 多種多様 (0 以上。階層で構造化できます)

 

データ グリッド内のデータ項目要素は、さまざまなオブジェクトをホストできます。たとえば、別のレイヤーのデータ項目や、テキスト、イメージ、エディット コントロールなどの特定のグリッド要素をホストできます。 データ項目要素に特定のオブジェクト ロールがある場合、要素は特定のコントロール型として公開する必要があります。たとえば、グリッド内の選択可能なデータ項目の ListItem コントロールの種類です。

関連するプロパティ

次の表に、値または定義が DataItem コントロール型に特に関連するUI オートメーションプロパティの一覧を示します。 UI オートメーションプロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。

UI Automation のプロパティ Notes
UIA_AutomationIdPropertyId 「ノート」を参照してください。 このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素間で一意である必要があります。
UIA_BoundingRectanglePropertyId 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
UIA_ClickablePointPropertyId 「ノート」を参照してください。 四角形領域が存在する場合にサポートされます。 外接する四角形内のすべてのポイントがクリック可能でなく、要素が特殊なヒット テストを実行する場合は、オーバーライドしてクリック可能なポイントを指定します。
UIA_ControlTypePropertyId DataItem
UIA_IsContentElementPropertyId true データ項目コントロールは、常にコンテンツである必要があります。
UIA_IsControlElementPropertyId true データ項目コントロールは、常にコントロールである必要があります。
UIA_IsKeyboardFocusablePropertyId 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
UIA_ItemStatusPropertyId 「ノート」を参照してください。 動的に更新されている状態がコントロールに含まれている場合は、要素の状態が変更されたときに支援技術が更新を受け取ることができるように、このプロパティをサポートする必要があります。
UIA_ItemTypePropertyId 「ノート」を参照してください。 これは、項目が表す基になるオブジェクトをエンド ユーザーに伝達する文字列値です。 たとえば、"Media File" や "Contact" などがあります。
UIA_LabeledByPropertyId [Null] データ項目コントロールに静的なテキスト ラベルはありません。
UIA_LocalizedControlTypePropertyId 「ノート」を参照してください。 DataItem コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "データ項目" です。
UIA_NamePropertyId 「ノート」を参照してください。 データ項目コントロールには、ユーザーがアイテムの識別子として認識するプライマリ テキスト要素が常に含まれています。

 

必須のコントロール パターン

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

コントロール パターン サポート Notes
IExpandCollapseProvider 依存 データ項目を展開または折りたたんで情報の表示と非表示を切り替えることができる場合は、 ExpandCollapse コントロール パターンをサポートする必要があります。
IGridItemProvider 依存 データ項目は、項目間で空間移動できるコンテナー内でデータ項目のコレクションが使用可能な場合に 、GridItem コントロール パターンをサポートします。
IScrollItemProvider 依存 すべてのデータ項目は、データ コンテナーに画面に収まらない項目が多い場合に ScrollItem コントロール パターンを使用してビューにスクロールする機能をサポートします。
ISelectionItemProvider 依存 データ項目を選択する機能は、コンテンツによって異なります。
ITableItemProvider 依存 データ項目が、ヘッダー要素を持つ DataGrid コントロール型に含まれている場合は、 TableItem コントロール パターンをサポートする必要があります。
IToggleProvider 依存 データ項目に循環可能な状態が含まれている場合は、 トグル コントロール パターンをサポートする必要があります。
IValueProvider 依存 データ項目のプライマリ テキストが編集可能な場合は、 Value コントロール パターンをサポートする必要があります。

 

大きなリストでの DataItems の操作

大きなリストは多くの場合、パフォーマンスを支援するために UI フレームワーク内で仮想化されるため、UI オートメーション クライアントでは、UI オートメーション クエリ機能を使用して、他の項目コンテナーと同じ方法で完全なツリーの内容を検索することはできません。 クライアントは、データ項目から情報の完全なセットにアクセスする前に、アイテムをスクロールして表示する (またはコントロールを展開して使用可能なすべてのオプションを表示する) 必要があります。

データ項目のUI オートメーション要素で SetFocus を呼び出すと、Microsoft Windows エクスプローラーは正常に戻り、フォーカスがデータ項目サブツリー内の Edit コントロールに設定されます。

必須イベント

次の表に、データ項目コントロールがサポートするために必要なUI オートメーション イベントの一覧を示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。

UI オートメーション イベント Notes
UIA_AutomationFocusChangedEventId
プロパティUIA_BoundingRectanglePropertyId 変更されたイベントです。
プロパティ変更イベントUIA_ExpandCollapseExpandCollapseStatePropertyId します。 コントロールが ExpandCollapse コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_Invoke_InvokedEventId コントロールが Invoke コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsEnabledPropertyId 変更されたイベントです。 コントロールが IsEnabled プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_IsOffscreenPropertyId 変更されたイベントです。 コントロールが IsOffscreen プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティ変更イベントUIA_ItemStatusPropertyId します。 コントロールが ItemStatus プロパティをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_NamePropertyId 変更されたイベントです。
UIA_SelectionItem_ElementAddedToSelectionEventId コントロールが SelectionItem コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_SelectionItem_ElementRemovedFromSelectionEventId コントロールが SelectionItem コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_SelectionItem_ElementSelectedEventId コントロールが SelectionItem コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
UIA_StructureChangedEventId
プロパティUIA_ToggleToggleStatePropertyId 変更されたイベントです。 コントロールが Toggle コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。
プロパティUIA_ValueValuePropertyId 変更されたイベントです。 コントロールが Value コントロール パターンをサポートしている場合は、このイベントをサポートする必要があります。

 

DataItem コントロール型の例

次の図は、リスト ビュー コントロールの DataItem コントロールの種類を示しています。

dataitem コントロール型のリスト ビュー コントロールのスクリーン ショット

データ項目コントロールに関連するUI オートメーション ツリーのコントロール ビューとコンテンツ ビューを次に示します。 オートメーションの各要素のコントロール パターンが、かっこ内に示されています。 グループ "Contoso" は、データ グリッド ホスト コントロールのグリッドの一部でもあります。 上位レベルのグリッド構造の例については、「 DataGrid コントロールの種類」を参照してください。

UI オートメーション ツリー - コントロール ビュー UI オートメーション ツリー - コンテンツ ビュー
  • Group "Contoso" (Table, Grid)
    • DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • Image "Accounts Receivable.doc"
      • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
      • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
      • "Size" の編集 (GridItem、TableItem、値 "11.0 KB")
    • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...
  • Group "Contoso" (Table, Grid)
    • DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • Image "Accounts Receivable.doc"
      • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
      • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
      • "Size" の編集 (GridItem、TableItem、値 "11.0 KB")
    • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
      • ...

 

グリッドが選択可能な項目のリストを表す場合、対応する選択可能な UI 要素は、DataItem コントロール型ではなく ListItem コントロール型で公開できます。 前の例では、Group ("Contoso") の下にある DataItem 要素 ("Accounts Receivable.doc" と "Accounts Payable.doc") を改善できます。この型は既に SelectionItem コントロール パターンをサポートしているため、ListItem コントロール型として公開することで改善できます。

概念

UI オートメーション コントロール型の概要

UI オートメーションの概要