この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

UIElement.Arrange メソッド (Rect)

 

公開日: 2016年11月

子要素を配置し、UIElement のサイズを決定します。 親要素はそれぞれの ArrangeCore 実装 (または WPF フレームワーク レベルの同等実装) からこのメソッドを呼び出し、レイアウトを再帰的に更新します。 このメソッドは、レイアウト更新の 2 番目のパスを構成します。

名前空間:   System.Windows
アセンブリ:  PresentationCore (PresentationCore.dll 内)

public void Arrange(
	Rect finalRect
)

パラメーター

finalRect
Type: System.Windows.Rect

親要素が子要素のために計算した最終的なサイズを示す Rect のインスタンス。

シナリオの動作を派生する WPF フレームワーク レベル要素の Arrange いない必要があります (およびできません、シャドウする場合を除き、) 変更します。 代わりに、オーバーライドする必要があります、 ArrangeOverride クラスで実装します。 ArrangeOverride によって内部的に実装が呼び出される Arrange デフォルトの WPF フレームワーク レベル レイアウトの操作の一部として。 ArrangeCore 実装を呼び出す必要がありますも ArrangeOverride 子要素がある場合、各子要素です。

シナリオの動作を派生する WPF コア レベル要素の Arrange いない必要があります (およびできません、シャドウする場合を除き、) 変更します。 代わりに、オーバーライドする必要があります ArrangeCore クラスにします。 ArrangeCore によって内部的に実装が呼び出される Arrange デフォルトの WPF フレームワーク レベル レイアウトの操作の一部として。 ただし、これは WPF フレームワーク レベルのレイアウトと WPF の中核となるレベルにある要素を具体的には派生した場合、大文字と小文字は多くの場合、レイアウト システムを使用している、 UIElement 基本要素のクラスです。 ArrangeCore 実装を呼び出す必要がありますも Arrange 子要素がある場合、各子要素です。 WPF シナリオのコア レベルが使用しないことを意味するメモ、 FrameworkElement ために、派生クラスを FrameworkElement シール ArrangeCoreします。

WPF フレームワーク レベル レイアウトの配置で計算 Windows Presentation Foundation (WPF) から成る、 Measure を呼び出すと Arrange を呼び出します。 中に、 Measure 呼び出し、レイアウト システムが、指定されたを使用して要素のサイズ要件を決定する Size (availableSize) 引数。 中に、 Arrange レイアウト システムの呼び出しは、サイズを終了し、要素の位置の境界ボックス。 詳細については、次を参照してください。 レイアウトします。

availableSize 0 から無限大までの任意の数を指定できます。 要素をレイアウトするのには、最小値を返す Size を通じて必要な availableSize パラメーター。

常に受信レイアウトが初めてインスタンス化されたときに、 Measure 前に呼び出す Arrangeします。 ただし、最初のレイアウト パスに受け取ることがあります、 Arrange せずに呼び出す、 Measure; これは発生する場合のみに影響を与えるプロパティ Arrange (配置) などが変更された親を受信すると、または、 Arrange せず、 Measureです。 A Measure 呼び出しが自動的に無効になる、 Arrange 呼び出します。

レイアウトの更新は、通常、非同期的に (レイアウト システムによって決定時) に発生します。 要素は要素のサイズ設定に影響を与えるプロパティの変更をすぐに反映されない可能性があります (たとえば Width)。

System_CAPS_noteメモ

使用してレイアウトの更新を適用することができます、 UpdateLayout メソッドです。 ただし、この関数を呼び出すことは推奨されません、通常必要はありませんし、パフォーマンスの低下が発生することができます。 多くの状況で呼び出すことが UpdateLayout 適切な場合があります、レイアウト システムが既に処理更新します。 レイアウト システムでは、パッケージの一部としてすべての必要な更新プログラムを最適化した方法でレイアウト変更を処理できます。

レイアウト システムは 1 つずつ無効なレイアウトの 2 つの異なるキュー Measure とに 1 つずつ Arrangeします。 レイアウトのキューは、ビジュアル ツリーにおける要素の順序に基づいて並べ替えられます。 ツリーの上位にある要素は、親の変更を繰り返すことによって、冗長なレイアウトを回避するために、キューの上部にです。 重複するエントリは、キューから自動的に削除されが既に有効である要素も、キューから自動的に削除します。

レイアウトを更新するときに、 Measure キューが最初に、空に続けて、 Arrange キューです。 内の要素、 Arrange 内の要素がある場合、キューは配置しないで、 Measure キューです。

.NET Framework
3.0 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
トップに戻る
表示: