UIElement.ArrangeCore(Rect) Metoda

Definice

Definuje šablonu pro definici rozložení uspořádání na úrovni jádra 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)

Parametry

finalRect
Rect

Poslední oblast v rámci nadřazeného prvku by měl použít k uspořádání sebe a jeho podřízených elementů.

Příklady

ArrangeCore Implementace by měly volat základní implementaci vrátit velikost, pak volat Arrange metodu každého viditelného podřízeného prvku a sladit velikosti vrácené těmito Arrange voláními s velikostí základní implementace. Logika aspektu ArrangeCore odsouhlasení implementace se může lišit v závislosti na charakteristikách rozložení vašeho prvku. V následujícím příkladu šablony je hypotetická vlastnost, VisualChildren kterou váš prvek může definovat, aby pomohl vypsat jeho obsah; UIElement nedefinuje kolekce obsahu na této úrovni, architektura na úrovni architektury WPF odklánějí chování obsahu k odvozeným prvkům, jako jsou konkrétní ovládací prvky nebo základní třídy ovládacích prvků.

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

Poznámky

Poznámka

Přepsání této metody je vhodné pouze v případě, že odvozujete na úrovni jádra WPF a nepoužíváte systém rozložení na úrovni architektury WPF a FrameworkElement odvozenou třídu, protože FrameworkElement zapečetí ArrangeCore. Pokud používáte systém rozložení na úrovni architektury WPF, je ArrangeOverridevhodnou metodou přepsání chování uspořádání rozložení specifického pro třídu .

Poznámky pro dědice

Pokud vyvíjíte elementy na úrovni jádra WPF, měli byste tuto metodu přepsat, aby prvek wpf na úrovni jádra měl jedinečné chování uspořádání rozložení nebo aby se správně rozhodovalo o podřízených prvcích elementů. Přepsání může být nutné, pokud tyto podřízené prvky nejsou rozpoznatelné z definovaného ItemCollectionvzoru, jako je .

Nadřazený prvek musí volat třídu-specifické Arrange(Rect) pro každý podřízený prvek, jinak tyto podřízené elementy nejsou vykresleny.

Platí pro