2010-10-11 5 views
3

Quel type de contrôle peut redimensionner horizontalement les éléments enfants et redimensionner uniformément les éléments pour les adapter à l'espace horizontal disponible? Je remplace le "ItemsPanelTemplate" dans un modèle treeview et un stackpanel placera les éléments dans l'orientation correcte, mais pas les redimensionner. Une grille montrera seulement le premier élément enfant dans l'arborescence et n'a pas le support pour être réorienté horizontalement.wpf: Comment mettre en forme des éléments horizontalement et de taille uniforme?

Répondre

8

Je pense que <UniformGrid Rows="1"/> va faire ce que vous voulez

+0

Oui, UniformGrid fait l'affaire, mais vous n'avez pas besoin de Rows = 1. – Marius

+2

Nice, et dans mon cas, vous avez besoin de lignes = 1 – Karsten

0

Vous pouvez utiliser un UniformGrid en conjonction avec un négatoscope:

Par exemple

<ViewBox StretchMode= "UniformToFill"> 
    <UniformGrid Cols="5"> 

    </UniformGrid> 

</ViewBox> 

S'il vous plaît prêter attention aux différentes valeurs du StretchMode du ViewBox, ainsi que le nombre d'éléments dans un rangée de la grille uniforme. Ils dépendent de vos données et de la façon dont vous voulez organiser les éléments.

+0

Je ne pense pas que ViewBox fonctionnera dans ce cas, car il TRANFORMS son contenu, pas redimensionner. Donc, vous verrez les choses plus grandes qu'elles ne sont supposées être. – Euphoric