Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.

FrameworkElement.ArrangeOverride, méthode

Mise à jour : novembre 2007

En cas de substitution dans une classe dérivée, positionne des éléments enfants et détermine une taille pour une classe dérivée de FrameworkElement.

Espace de noms :  System.Windows
Assembly :  PresentationFramework (dans PresentationFramework.dll)

protected virtual Size ArrangeOverride(
	Size finalSize
)
protected Size ArrangeOverride(
	Size finalSize
)
protected function ArrangeOverride(
	finalSize : Size
) : Size
Vous ne pouvez pas utiliser des méthodes en XAML.

Paramètres

finalSize
Type : System.Windows.Size

Dernière zone dans le parent que cet élément doit utiliser pour se réorganiser et réorganiser ses enfants.

Valeur de retour

Type : System.Windows.Size

Taille réelle utilisée.

Remarques à l'attention des héritiers :

Les auteurs de contrôle, qui cherchent à personnaliser la passe de réorganisation du traitement de la disposition, doivent substituer cette méthode. Le modèle d'implémentation doit appeler Arrange pour chaque élément enfant visible et passer la taille désirée finale pour chaque élément enfant comme paramètre finalRect. Les éléments parents doivent appeler Arrange pour chaque enfant, sinon le rendu des éléments enfants ne se fait pas.

De nombreuses classes dérivées offrent une implémentation de cette méthode. Les plus remarquables sont : Window.ArrangeOverride, Page.ArrangeOverride et Control.ArrangeOverride.

Cet exemple montre comment substituer le comportement de disposition par défaut de l'élément Panel et créer des éléments de disposition personnalisés dérivés de Panel.

L'exemple définit un élément Panel personnalisé simple appelé PlotPanel qui positionne les éléments enfants d'après deux coordonnées x et y codées en dur. Dans cet exemple, x et y ont tous les deux la valeur 50 ; par conséquent, tous les éléments enfants sont positionnés à cet emplacement sur les axes x et y.

Pour implémenter des comportements Panel personnalisés, l'exemple utilise les méthodes MeasureOverride et ArrangeOverride. Chaque méthode retourne les données Size qui sont nécessaires pour positionner et restituer les éléments enfants.

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
    }
}


Pour l'exemple complet, consultez Créer un panneau personnalisé simple, exemple.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0

Ajouts de la communauté

Afficher:
© 2015 Microsoft