UIElement.ArrangeCore(Rect) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.