UIElement.Arrange(Rect) UIElement.Arrange(Rect) UIElement.Arrange(Rect) UIElement.Arrange(Rect) Method

定義

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

public:
 void Arrange(System::Windows::Rect finalRect);
public void Arrange (System.Windows.Rect finalRect);
member this.Arrange : System.Windows.Rect -> unit
Public Sub Arrange (finalRect As Rect)

パラメーター

finalRect
Rect Rect Rect 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呼び出し、レイアウト システムは、サイズを終了し、要素の位置の境界ボックス。 詳細については、「Layout」 (レイアウト) を参照してください。

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

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

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

注意

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

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

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

適用対象