UIElement.ArrangeCore(Rect) Methode

Definition

Definiert die Vorlage für WPF Layoutdefinition auf Kernebene.

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)

Parameter

finalRect
Rect

Der letzte Bereich innerhalb des übergeordneten Elements sollte verwendet werden, um sich und seine untergeordneten Elemente anzuordnen.

Beispiele

ArrangeCore Implementierungen sollten die Basisimplementierung aufrufen, um eine Größe zurückzugeben, dann die Arrange Methode jedes sichtbaren untergeordneten Elements aufzurufen und die von diesen Arrange Aufrufen zurückgegebenen Größen mit der Größe der Basisimplementierung in Einklang zu bringen. Die Logik für den Aussöhnungsaspekt einer ArrangeCore Implementierung kann je nach den Layoutmerkmalen Ihres Elements variieren. In der folgenden Beispielvorlage ist VisualChildren eine hypothetische Eigenschaft, die ihr Element definieren kann, um den Inhalt auflisten zu können; UIElement inhaltssammlungen auf dieser Ebene nicht definiert, wird das Inhaltsverhalten auf WPF Frameworkebene auf abgeleitete Elemente, z. B. bestimmte Steuerelemente oder Steuerelementbasisklassen, zurückverzögert.

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

Hinweise

Note

Das Überschreiben dieser Methode ist nur geeignet, wenn Sie auf der WPF Kernebene ableiten und nicht das layoutsystem auf WPF Frameworkebene und FrameworkElement abgeleitete Klasse verwenden, da FrameworkElement Seals ArrangeCore. Wenn Sie das layoutsystem auf WPF Frameworkebene verwenden, ist die entsprechende Methode zum Überschreiben des klassenspezifischen Layout-Anordnungsverhaltens ArrangeOverride.

Hinweise für Vererber

Wenn Sie Elemente auf der WPF Kernebene entwickeln, sollten Sie diese Methode überschreiben, um Ihrem WPF Kernebenenelement ein eindeutiges Anordnungslayoutverhalten zu verleihen oder geeignete Layoutentscheidungen über die untergeordneten Elemente Ihrer Elemente zu treffen. Eine Außerkraftsetzung kann erforderlich sein, wenn diese untergeordneten Elemente von einem definierten Muster wie z. B. einem ItemCollectiondefinierten Muster nicht erkennbar sind.

Ein übergeordnetes Element muss die klassenspezifischen Arrange(Rect) Elemente für jedes untergeordnete Element aufrufen, andernfalls werden diese untergeordneten Elemente nicht gerendert.

Gilt für: