Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

FrameworkElement.ArrangeOverride-Methode

Wenn sie in einer abgeleiteten Klasse überschrieben, untergeordnete Elemente und bestimmt eine Größe für eine abgeleitete Klasse FrameworkElement.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
protected virtual Size ArrangeOverride(
	Size finalSize
)

Parameter

finalSize
Typ: System.Windows.Size
Der letzte Bereich im übergeordneten Elements, das dieses Element verwenden muss, um sich selbst und seine untergeordneten Elemente anordnen.

Rückgabewert

Typ: System.Windows.Size
Das tatsächliche Größe verwendet.

Hinweise zur Vererbung

Autoren von Steuerelementen, die Auswirkungen auf die Anordnungsübergabe des Layouts verarbeitens anpassen möchten, sollten diese Methode überschreiben. Das Implementierungsmuster soll Arrange für alle sichtbaren untergeordneten Elements aufrufen und führt die endgültige gewünschte Größe für jedes untergeordnete Element als finalRect-Parameter. Übergeordnete Elemente Arrange sollten auf jedem untergeordneten Element aufrufen. Andernfalls werden die untergeordneten Elemente nicht gerendert.

Viele abgeleiteten Klassen bieten Implementierungen dieser Methode veranschaulicht. Die vorstehende schließen Folgendes ein: Window.ArrangeOverride, Page.ArrangeOverride und Control.ArrangeOverride.

In diesem Beispiel wird dargestellt, wie das Standardlayoutverhalten des Panel-Elements überschrieben werden kann und benutzerdefinierte Layoutelemente erstellt werden, die von Panel abgeleitet sind.

In diesem Beispiel wird ein einfaches benutzerdefiniertes Panel-Element (PlotPanel) definiert, das untergeordnete Elemente zwei fest programmierten x- und y-Koordinaten entsprechend positioniert. Außerdem werden in diesem Beispiel x und y auf 50 festgelegt, d. h. alle untergeordneten Elemente werden auf der x-Achse und auf der Y-Achse an dieser Position platziert.

Zur Implementierung von benutzerdefiniertem Panel-Verhalten werden in diesem Beispiel die Methoden MeasureOverride und ArrangeOverride angewendet. Jede Methode gibt die Size-Daten zurück, die zur Positionierung und zum Rendern von untergeordnete Elemente notwendig sind.


public class PlotPanel : Panel
{
    // Default public constructor
    public PlotPanel()
        : base()
    {
    }

    // Override the default Measure method of Panel
    protected override Size MeasureOverride(Size availableSize)
    {
        Size panelDesiredSize = new Size();

        // In our example, we just have one child. 
        // Report that our panel requires just the size of its only child.
        foreach (UIElement child in InternalChildren)
        {
            child.Measure(availableSize);
            panelDesiredSize = child.DesiredSize;
        }

        return panelDesiredSize ;
    }
    protected override Size ArrangeOverride(Size finalSize)
    {
        foreach (UIElement child in InternalChildren)
        {
            double x = 50;
            double y = 50;

            child.Arrange(new Rect(new Point(x, y), child.DesiredSize));
        }
        return finalSize; // Returns the final Arranged size
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.