注
このドキュメントは、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 - パラメーターが有効な数値でない場合。 |