DataItem コントロール型
このトピックでは、DataItem コントロール型に対する Microsoft UI オートメーションのサポートについて説明します。
連絡先リストのエントリは、データ項目コントロールの例です。 データ項目コントロールには、エンド ユーザーにとって重要な情報が含まれています。 より豊富な情報が含まれているため、単純なリスト アイテムよりも複雑です。
次のセクションでは、DataItem コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、UI フレームワーク/プラットフォームが UI オートメーションのコントロール型とコントロール パターンのサポートを統合するすべてのデータ項目コントロールに適用されます。
このトピックには、次のセクションが含まれています。
- 一般的なツリー構造の
- 関連するプロパティ を する
- 必要なコントロール パターンの
- 大規模なリストで DataItems を操作する
- 必要なイベント を する
- DataItem コントロール型の例
- 関連トピック
一般的なツリー構造
次の表は、データ項目コントロールに関連する UI オートメーション ツリーの一般的なコントロールとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。
コントロール ビュー | コンテンツ ビュー |
---|---|
|
|
データ グリッド内のデータ項目要素は、データ項目の別のレイヤーや、テキスト、画像、編集コントロールなどの特定のグリッド要素など、さまざまなオブジェクトをホストできます。 データ項目要素に特定のオブジェクト ロールがある場合、要素は特定のコントロール型として公開する必要があります。たとえば、ListItem グリッド内の選択可能なデータ項目のコントロールの種類です。
関連するプロパティ
次の表に、値または定義が DataItem コントロール型に特に関連する UI オートメーション プロパティの一覧を示します。 UI オートメーション プロパティの詳細については、「UI オートメーション要素からプロパティを取得する」を参照してください。
UI オートメーション プロパティ | 価値 | 筆記 |
---|---|---|
UIA_AutomationIdPropertyId | ノートを参照してください。 | このプロパティの値は、UI オートメーション ツリーの生ビュー内のすべてのピア要素で一意である必要があります。 |
UIA_BoundingRectanglePropertyId | ノートを参照してください。 | コントロール全体を含む最も外側の四角形。 |
UIA_ClickablePointPropertyId | ノートを参照してください。 | 外接する四角形がある場合にサポートされます。 外接する四角形内のすべてのポイントがクリック可能でなく、要素が特殊なヒット テストを実行する場合は、オーバーライドしてクリック可能なポイントを指定します。 |
UIA_ControlTypePropertyId | DataItem の | |
UIA_IsContentElementPropertyId | 真 | データ項目コントロールは常にコンテンツである必要があります。 |
UIA_IsControlElementPropertyId | 真 | データ項目コントロールは常にコントロールである必要があります。 |
UIA_IsKeyboardFocusablePropertyId | ノートを参照してください。 | コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。 |
UIA_ItemStatusPropertyId | ノートを参照してください。 | 動的に更新されている状態がコントロールに含まれている場合は、要素の状態が変更されたときに支援技術が更新を受け取ることができるように、このプロパティをサポートする必要があります。 |
UIA_ItemTypePropertyId | ノートを参照してください。 | これは、アイテムが表す基になるオブジェクトをエンド ユーザーに伝える文字列値です。 たとえば、"メディア ファイル" や "連絡先" などがあります。 |
UIA_LabeledByPropertyId | ヌル | データ項目コントロールには静的なテキスト ラベルがありません。 |
UIA_LocalizedControlTypePropertyId | ノートを参照してください。 | DataItem コントロール型に対応するローカライズされた文字列。 既定値は、en-US または英語 (米国) の "データ項目" です。 |
UIA_NamePropertyId | ノートを参照してください。 | データ項目コントロールには、ユーザーがアイテムの識別子として認識するプライマリ テキスト要素が常に含まれています。 |
必要なコントロール パターン
次の表に、すべてのデータ項目コントロールでサポートされる必要がある UI オートメーション コントロール パターンを示します。 コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。
コントロール パターン | 支える | 筆記 |
---|---|---|
IExpandCollapseProviderをする | 依存 | データ項目を展開または折りたたんで情報の表示と非表示を切り替えることができる場合は、ExpandCollapse コントロール パターンがサポートされている必要があります。 |
IGridItemProviderの | 依存 | データ項目は、項目間を空間的に移動できるコンテナー内でデータ項目のコレクションが使用可能な場合に、GridItem コントロール パターンをサポートします。 |
IScrollItemProviderの | 依存 | すべてのデータ項目は、ScrollItem コントロール パターンを使用してビューにスクロールする機能をサポートしています。データ コンテナーの項目数が画面に収まらない場合です。 |
ISelectionItemProviderの | 依存 | データ項目を選択する機能は、コンテンツによって異なります。 |
ITableItemProviderの | 依存 | データ項目が、ヘッダー要素を持つ DataGrid コントロール型内に含まれている場合は、TableItem コントロール パターンをサポートする必要があります。 |
IToggleProviderの | 依存 | データ項目に循環可能な状態が含まれている場合は、トグル コントロール パターンをサポートする必要があります。 |
IValueProviderの | 依存 | データ項目のプライマリ テキストが編集可能な場合は、値 コントロール パターンがサポートされている必要があります。 |
大規模なリストでの DataItems の操作
多くの場合、大きなリストはパフォーマンスを支援するために UI フレームワーク内で仮想化されるため、UI オートメーション クライアントは UI オートメーション クエリ機能を使用して、他の項目コンテナーと同じ方法で完全なツリーの内容を検索することはできません。 クライアントは、データ項目から情報の完全なセットにアクセスする前に、項目をスクロールして表示する (またはコントロールを展開して使用可能なすべてのオプションを表示する) 必要があります。
データ項目の UI オートメーション要素 SetFocus を呼び出すと、Microsoft Windows Explorer は正常に戻り、データ項目サブツリー内の Edit コントロールにフォーカスが設定されます。
必要なイベント
次の表に、データ項目コントロールがサポートするために必要な UI オートメーション イベントの一覧を示します。 イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。
UI オートメーション イベント | 筆記 |
---|---|
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 オートメーション ツリー - コンテンツ ビュー |
---|---|
|
|
グリッドが選択可能な項目の一覧を表す場合、対応する選択可能な UI 要素は、DataItem コントロール型ではなく、ListItem コントロール型で公開できます。 前の例では、Group ("Contoso") の下の DataItem 要素 ("Accounts Receivable.doc" と "Accounts Payable.doc") は、ListItem コントロール型として公開することで改善できます。これは、その型が既に SelectionItem コントロール パターンをサポートしているためです。
関連トピック