2009-06-08 5 views
1

Il semble que la largeur finale (ou la hauteur) transmise à la méthode ArrangeOverride ne soit jamais inférieure à la largeur (ou hauteur) souhaitée renvoyée par la méthode MeasureOverride.WPF ArrangeOverride question

Est-ce toujours vrai?

Répondre

2

Je crois que vous pouvez supposer que la taille finale passée sera inférieure ou égale à la taille désirée, mais pas toujours la taille exacte. L'arrangement est après qu'il décide les dimensions réelles les choses seront, ainsi ce sera généralement des valeurs réelles (par opposition à Mesurer où + Inf est commun)

+1

Pour moi, il semble que la taille finale passée dans ArrangeOverride est basée sur ce que je retourne dans MeasureOverride. Si je renvoie une valeur fausse (par exemple hauteur de 10 000), cela est passé à ArrangeOverride, même difficile mon application. hauteur de la fenêtre est seulement quelques pixels hundered. –

+1

Cela dépend du conteneur de votre panneau - si vous êtes dans un ScrollViewer par exemple, cela vous donnera toute la place que vous voulez. –

+0

Comme le dit Paul, le conteneur fait la différence. J'ai vécu le même problème que dans la question. Puis j'ai remplacé le conteneur de StackPanel à Grid, et soudainement ArrangeOverride a commencé à se comporter comme prévu. –