Freigeben über


UIElement.ArrangeCore(Rect) Methode

Definition

Definiert die Vorlage für die Definition zum Anordnen des Layouts auf der WPF-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 im übergeordneten Element, den das Element verwenden soll, um sich selbst 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 aufrufen und die von diesen Arrange Aufrufen zurückgegebenen Größen mit der Größe der Basisimplementierung abgleichen. Die Logik für den Abgleichsaspekt einer ArrangeCore Implementierung kann abhängig von den Layoutmerkmalen Ihres Elements variieren. In der folgenden Beispielvorlage ist eine hypothetische Eigenschaft, die Ihr Element möglicherweise definiert, VisualChildren um den Inhalt aufzulisten. UIElement Definiert Keine Inhaltssammlungen auf dieser Ebene, die WPF-Architektur auf Frameworkebene verschiebt das Inhaltsverhalten auf abgeleitete Elemente wie bestimmte Steuerelemente oder Steuerelementbasisklassen.

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

Hinweis

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

Hinweise für Vererber

Wenn Sie Elemente auf WPF-Kernebene entwickeln, sollten Sie diese Methode überschreiben, um Ihrem WPF-Kernelement ein eindeutiges Layoutverhalten zu geben oder richtige Layoutentscheidungen für die untergeordneten Elemente Ihrer Elemente zu treffen. Eine Überschreibung kann erforderlich sein, wenn diese untergeordneten Elemente von einem definierten Muster wie einem ItemCollectionnicht erkennbar sind.

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

Gilt für: