次の方法で共有


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

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

このトピックでは、SplitButton コントロール型に対する UI オートメーションのサポートについて説明します。 UI オートメーションでは、コントロール型は、 ControlTypeProperty プロパティを使用するためにコントロールが満たす必要がある一連の条件です。 条件には、UI オートメーション ツリー構造、UI オートメーション プロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。

分割ボタン コントロールを使用すると、コントロールに対してアクションを実行し、コントロールを展開して、実行できる他の可能なアクションの一覧を表示できます。

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

必要な UI オートメーション ツリー構造

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

コントロール ビュー コンテンツ ビュー
分割ボタン

  • 画像 (0 または 1)
  • テキスト (0 または 1)
  • ボタン (1 または 2)

    • メニュー (0 または 1; は、ExpandCollapse パターンをサポートするボタンの子として表示されます)
    • MenuItem (1 ~ 多)
分割ボタン

- MenuItem (1 ~ 多)

必要な UI オートメーション プロパティ

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

UI オートメーション プロパティ 価値 注記
AutomationIdProperty ノートを参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty ノートを参照してください。 コントロール全体を含む最も外側の四角形。
ClickablePointProperty ノートを参照してください。 外接する四角形がある場合にサポートされます。 外接する四角形内のポイントのすべてがクリック可能でない場合、かつ特殊なヒットテストを行うのであれば、オーバーライドしてクリック可能なポイントを指定してください。
IsKeyboardFocusableProperty ノートを参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
NameProperty "戻る" 分割ボタン コントロールの名前がボタンに表示されます。
LabeledByProperty 無効 分割ボタン コントロールには静的なテキスト ラベルがありません。
ControlTypeProperty 分割ボタン この値は、すべての UI フレームワークで同じです。
LocalizedControlTypeProperty "分割ボタン" SplitButton コントロール型に対応するローカライズされた文字列。
HelpTextProperty ノートを参照してください。 ヘルプ テキストは、分割ボタンをアクティブ化した結果を示すことができます。これは通常、ツールヒントを通じて表示される情報の種類と同じです。
IsContentElementProperty 正しい 分割ボタン コントロールには、エンド ユーザーの情報が含まれています。
IsControlElementProperty 正しい 分割ボタン コントロールはエンド ユーザーに表示されます。

必要な UI オートメーション コントロール パターン

次の表に、分割ボタン コントロールでサポートする必要がある UI オートメーション コントロール パターンを示します。 コントロール パターンの詳細については、「 UI オートメーション コントロール パターンの概要」を参照してください。

コントロール パターン 支援 注記
IInvokeProvider 必須 分割ボタンには、常に既定のアクションが Invoke に関連付けられています。
IExpandCollapseProvider 必須 分割ボタンには、常にオプションの一覧を展開する機能があります。

必要な UI オートメーション イベント

次の表に、すべての分割ボタン コントロールでサポートされる必要がある UI オートメーション イベントの一覧を示します。 イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。

UI オートメーション イベント 支援 注記
InvokedEvent 必須 無し
BoundingRectangleProperty プロパティ変更イベント。 必須 無し
IsOffscreenProperty プロパティ変更イベント。 必須 無し
IsEnabledProperty プロパティ変更イベント。 必須 無し
ExpandCollapseStateProperty プロパティ変更イベント。 必須 無し
AutomationFocusChangedEvent 必須 無し
StructureChangedEvent 必須 無し

SplitButton コントロールの例

次の図は、データ グリッド コントロールの SplitButton コントロール型を示しています。

[分割] ボタン

データ グリッドと分割ボタン コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューが下に表示されます。 各オートメーション要素の制御パターンをかっこで囲んで示します。

UI オートメーション ツリー - コントロール ビュー UI オートメーション ツリー - コンテンツ ビュー
  • SplitButton "Name" (Invoke、ExpandCollapse)
  • ボタン "その他のオプション" (呼び出し)

    • メニュー
    • メニュー項目
  • SplitButton "Name" (Invoke、ExpandCollapse)
  • ボタン "その他のオプション" (呼び出し)

    • メニュー
    • メニュー項目

こちらも参照ください