UIElement.ArrangeCore(Rect) UIElement.ArrangeCore(Rect) UIElement.ArrangeCore(Rect) UIElement.ArrangeCore(Rect) Method

定義

WPF コア レベルの配置レイアウト定義のテンプレートを定義します。Defines the template for WPF core-level arrange layout definition.

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 Rect Rect Rect

親の末尾の領域。親の要素は要素自体と子を配置するために使用します。The final area within the parent that element should use to arrange itself and its child elements.

ArrangeCore 実装は、サイズを返すには、基本の実装を呼び出す必要がありますを呼び出して、Arrange各表示されている子要素のメソッドおよびこれらによって返されるサイズを調整Arrangeサイズが基本の実装の呼び出し。ArrangeCore implementations should call the base implementation to return a size, then call the Arrange method of each visible child element, and reconcile the sizes returned by these Arrange calls with the size of the base implementation. ロジックの調整の側面をArrangeCore要素のレイアウト特性に応じて、実装が異なる場合があります。The logic for the reconciliation aspect of a ArrangeCore implementation might vary, depending on the layout characteristics of your element. 次のサンプル テンプレートでVisualChildren仮想的なプロパティですそのコンテンツを列挙するため、要素を定義する。UIElementコンテンツのコレクションを一切定義しませんレベルでは、WPF フレームワーク レベルのアーキテクチャが特定のコントロールまたはコントロールの基底クラスなどの派生要素にコンテンツの動作を延期します。In the following example template, VisualChildren is a hypothetical property that your element might define to help enumerate its content; UIElement does not define content collections at this level, the WPF framework-level architecture defers content behavior to derived elements such as specific controls or control base classes.

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ために、派生クラスでFrameworkElementシールArrangeCoreします。Overriding this method is only appropriate if you are deriving at the WPF core-level, and you are not using the WPF framework-level layout system and FrameworkElement derived class, because FrameworkElement seals ArrangeCore. クラスに固有のレイアウトをオーバーライドする適切なメソッドでは、動作は、配置、WPF フレームワーク レベルのレイアウト システムを使用している場合ArrangeOverrideします。If you are using the WPF framework-level layout system, the appropriate method to override for class-specific layout arrange behavior is ArrangeOverride.

注意 (継承者)

WPF コア レベルで要素を開発している場合、これをオーバーライドする必要があります、WPF コア レベルの要素を一意に提供するメソッドがレイアウトの動作を配置または適切なレイアウトを要素の子要素について決定します。If you are developing elements at the WPF core level,you should override this method to give your WPF core-level element a unique arrange layout behavior, or to make proper layout decisions about the child elements of your elements. 上書きをそれらの子要素は定義済みのパターンから認識されないなどの場合に必要な場合があります、ItemCollectionします。An override might be necessary if those child elements are not recognizable from a defined pattern such as an ItemCollection.

親要素は、クラス固有を呼び出す必要がありますArrange(Rect)各子要素に対してそれ以外の場合、子要素は表示されません。A parent element must call the class-specific Arrange(Rect) on each child element, otherwise those child elements are not rendered.

適用対象