UIElement.ArrangeCore(Rect) Metod

Definition

Definierar mallen för WPF ordna layoutdefinition på kärnnivå.

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)

Parametrar

finalRect
Rect

Det sista området inom det överordnade elementet som ska användas för att ordna sig själv och dess underordnade element.

Exempel

ArrangeCore implementeringar bör anropa basimplementeringen för att returnera en storlek, anropa sedan metoden för varje synligt underordnat Arrange element och stämma av de storlekar som returneras av dessa Arrange anrop med storleken på basimplementeringen. Logiken för avstämningsaspekten för en ArrangeCore implementering kan variera beroende på elementets layoutegenskaper. I följande exempelmall är VisualChildren en hypotetisk egenskap som elementet kan definiera för att räkna upp innehållet. UIElement definierar inte innehållssamlingar på den här nivån, WPF arkitektur på ramverksnivå defersar innehållsbeteende till härledda element, till exempel specifika kontroller eller kontrollbasklasser.

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

Kommentarer

Note

Att åsidosätta den här metoden är bara lämpligt om du härleder på WPF kärnnivå, och du inte använder WPF layoutsystem på ramverksnivå och FrameworkElement härledd klass, eftersom FrameworkElement tätningar ArrangeCore. Om du använder WPF layoutsystem på ramverksnivå är lämplig metod att åsidosätta för klassspecifik layout ordna beteende ArrangeOverride.

Anteckningar till arvingar

Om du utvecklar element på WPF kärnnivå bör du åsidosätta den här metoden för att ge ditt WPF element på kärnnivå ett unikt ordna layoutbeteende, eller för att fatta lämpliga layoutbeslut om underordnade element i dina element. En åsidosättning kan vara nödvändig om dessa underordnade element inte kan identifieras från ett definierat mönster, till exempel ett ItemCollection.

Ett överordnat element måste anropa klassspecifikt Arrange(Rect) för varje underordnat element, annars återges inte de underordnade elementen.

Gäller för