次の方法で共有


UI オートメーション ウィンドウ コントロール パターンの実装

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

このトピックでは、IWindowProviderプロパティ、メソッド、イベントに関する情報など、WindowPatternを実装するためのガイドラインと規則について説明します。 その他の参照へのリンクは、トピックの最後に一覧表示されます。

WindowPattern コントロール パターンは、従来のグラフィカル ユーザー インターフェイス (GUI) 内で基本的なウィンドウ ベースの機能を提供するコントロールをサポートするために使用されます。 このコントロール パターンを実装する必要があるコントロールの例としては、最上位のアプリケーション ウィンドウ、複数ドキュメント インターフェイス (MDI) 子ウィンドウ、サイズ変更可能な分割ウィンドウ コントロール、モーダル ダイアログ、バルーン ヘルプ ウィンドウなどがあります。

実装のガイドラインと規則

Window コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。

  • UI オートメーションを使用してウィンドウ のサイズと画面の位置の両方を変更する機能をサポートするには、コントロールがITransformProviderに加えてIWindowProviderを実装する必要があります。

  • 通常、コントロールを移動、サイズ変更、最大化、最小化、または閉じることができるタイトル バーとタイトル バー要素を含むコントロールは、 IWindowProviderを実装するために必要です。

  • ヒントのポップアップやコンボ ボックス、メニュー ドロップダウンなどのコントロールは、通常、 IWindowProviderを実装しません。

  • バルーン ヘルプ ウィンドウは、ウィンドウに似た [閉じる] ボタンを用意することで、基本的なヒントのポップアップと区別されます。

  • 全画面表示モードは、アプリケーション固有の機能であり、一般的なウィンドウ動作ではないため、IWindowProvider ではサポートされていません。

IWindowProvider の必須メンバー

IWindowProvider インターフェイスには、次のプロパティ、メソッド、およびイベントが必要です。

必須メンバー メンバーの種類 注記
InteractionState プロパティ 無し
IsModal プロパティ 無し
IsTopmost プロパティ 無し
Maximizable プロパティ 無し
Minimizable プロパティ 無し
VisualState プロパティ 無し
Close メソッド 無し
SetVisualState メソッド 無し
WaitForInputIdle メソッド 無し
WindowClosedEvent 出来事 無し
WindowOpenedEvent 出来事 無し
WindowInteractionState 出来事 保証されているとは限りません。 ReadyForUserInteraction

例外

プロバイダーは、次の例外をスローする必要があります。

例外の種類 条件
InvalidOperationException SetVisualState

- コントロールが要求された動作をサポートしていない場合。
ArgumentOutOfRangeException WaitForInputIdle

- パラメーターが有効な数値でない場合。

こちらも参照ください