UI オートメーションによる Menu コントロール型のサポート

Note

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、Windows Automation API の「UI オートメーション」を参照してください。

このトピックでは、Menu コントロール型での Microsoft UI オートメーションのサポートに関する情報を提供します。 このコントロールの Microsoft UI オートメーション ツリーの構造を説明し、特定のコントロール シナリオ用のプロパティとコントロール パターンを示します。

メニュー コントロールを使用すると、コマンドおよびイベント ハンドラーに関連付けられている要素を階層に編成できます。 一般的な Microsoft Windows アプリケーションでは、メニュー バーに複数のメニュー ボタン ( [ファイル][編集][ウィンドウ] など) が含まれ、各メニュー ボタンによってメニューが表示されます。 メニューには、メニュー項目 ( [新規][開く][閉じる]など) のコレクションが含まれていて、メニュー項目を展開して追加のメニュー項目を表示したり、クリックして特定の操作を実行したりできます。

以降のセクションでは、Menu コントロール型に必要な UI オートメーション ツリーの構造、プロパティ、コントロール パターン、イベントを定義します。 この UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、または Windows フォームのいずれにおいても、すべてのリスト コントロールに適用されます。

必須の UI オートメーション ツリー構造

次の表に、メニュー コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、それぞれのビューに含めることができる内容について説明します。 UI オートメーション ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー
メニュー

- MenuItem (1 個以上)
該当なし (メニュー コントロールが、メニュー項目でないオブジェクトの親であるコンテキスト メニューに相当する場合を除く)

- MenuItem (1 個以上)

メニュー コントロールは、UI オートメーション ツリーのコントロール ビューとコンテンツ ビューに常に表示されます。 Menu コントロール型は、その情報が参照しているコントロールの下に表示されます。 UI オートメーション クライアントは、メニュー コントロールによって伝えられる情報を常に取得できるよう、 MenuOpenedEvent をリッスンする必要があります。 コンテキスト メニュー コントロールは、特殊なケースです。 これらのコントロールは、デスクトップの子として表示されます。

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

次の表に、Menu コントロール型に特に関連する値または定義を持つ UI オートメーション プロパティを示します。 UI オートメーション プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

UI Automation のプロパティ Notes
NameProperty サポートされていません メニュー コントロールでは、Name プロパティを設定する必要はありません。
LabeledByProperty Null 一般的なメニュー コントロールには、ラベルは不要です。
ControlTypeProperty メニュー この値は、すべての UI フレームワークで同じです。
IsContentElementProperty × このメニュー コントロールは、UI オートメーション ツリーのコンテンツ ビューには含まれません。
IsControlElementProperty True このメニュー コントロールは、UI オートメーション ツリーのコントロール ビューに常に含まれます。

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

Menu コントロール型に必要なコントロール パターンはありません。

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

メニュー コントロールは、画面に表示された場合に MenuOpenedEvent を生成する必要があります。 MenuOpenedEvent にはコントロールのテキストが含まれます。 メニューが画面から非表示になった場合には、 MenuClosedEvent が生成されなければなりません。

次の表に、すべてのメニュー コントロールでサポートされる必要がある UI オートメーション イベントを示します。 イベントの詳細については、「 UI Automation Events Overview」を参照してください。

UI オートメーション イベント サポート/値 Notes
MenuOpenedEvent 必須 なし
MenuClosedEvent 必須 なし
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
AutomationFocusChangedEvent 必須 なし
StructureChangedEvent 必須 なし

関連項目