次の方法で共有


UIElement.ArrangeCore(Rect) メソッド

定義

WPF コア レベルの配置レイアウト定義のテンプレートを定義します。

protected:
 virtual void ArrangeCore(System::Windows::Rect finalRect);
protected virtual void ArrangeCore (System.Windows.Rect finalRect);
abstract member ArrangeCore : System.Windows.Rect -> unit
override this.ArrangeCore : System.Windows.Rect -> unit
Protected Overridable Sub ArrangeCore (finalRect As Rect)

パラメーター

finalRect
Rect

親の末尾の領域。親の要素は要素自体と子を配置するために使用します。

ArrangeCore 実装では、基本実装を呼び出してサイズを返し、表示される各子要素のメソッドを Arrange 呼び出し、これらの Arrange 呼び出しによって返されるサイズを基本実装のサイズと調整する必要があります。 実装の調整の側面のロジックは、要素の ArrangeCore レイアウト特性によって異なる場合があります。 次のテンプレート例では、 VisualChildren 要素がコンテンツ UIElement の列挙に役立つ可能性がある仮定のプロパティです。このレベルではコンテンツ コレクションを定義しません。WPF フレームワーク レベルのアーキテクチャでは、特定のコントロールやコントロールの基底クラスなどの派生要素にコンテンツの動作が延期されます。

protected override void ArrangeCore(Rect finalRect)
{
     //Call base, it will set offset and RenderBounds to the finalRect:
     base.ArrangeCore(finalRect);
     foreach (UIElement child in VisualChildren)
     {
         child.Arrange(new Rect(childX, childY, childWidth, childHeight));
     }
 }
Protected Overrides Sub ArrangeCore(ByVal finalRect As Rect)
     'Call base, it will set offset and RenderBounds to the finalRect:
     MyBase.ArrangeCore(finalRect)
     For Each child As UIElement In VisualChildren
         child.Arrange(New Rect(childX, childY, childWidth, childHeight))
     Next child
End Sub

注釈

注意

このメソッドのオーバーライドは、WPF のコア レベルで派生していて、WPF フレームワーク レベルのレイアウト システムとFrameworkElement派生クラスを使用していない場合にのみ適しています。シールArrangeCoreのためFrameworkElementです。 WPF フレームワーク レベルのレイアウト システムを使用している場合、クラス固有のレイアウト配置動作に対してオーバーライドする適切なメソッドは .ArrangeOverride

注意 (継承者)

WPF コア レベルで要素を開発する場合は、WPF コア レベルの要素に固有の配置レイアウト動作を提供するか、要素の子要素に関する適切なレイアウト決定を行うために、このメソッドをオーバーライドする必要があります。 このような子要素が定義されたパターン ItemCollectionから認識できない場合は、オーバーライドが必要になる場合があります。

親要素は、各子要素でクラス固有 Arrange(Rect) を呼び出す必要があります。それ以外の場合、それらの子要素はレンダリングされません。

適用対象