2009-10-09 7 views
0

Je cherche un bon moyen de concevoir une disposition multi-colonne qui redistribue les contrôles dans les colonnes en fonction de l'espace disponible. J'ai une liste d'étiquettes et de champs qui affichent des informations, et parfois la vue dans laquelle ils sont contenus doit être grande et mince, d'autres fois courte et large.Aligner des colonnes sans WPF Grid

Une solution simple consiste à utiliser un WrapPanel:

<WrapPanel Orientation="Vertical"> 
    <StackPanel Orientation="Horizontal"> 
     <Label>Some label:</Label> 
     <TextBlock>Some value</TextBlock> 
    </StackPanel> 
    <StackPanel Orientation="Horizontal"> 
     <Label>Some other label:</Label> 
     <TextBlock>Some bigger value</TextBlock> 
    </StackPanel> 
    <StackPanel Orientation="Horizontal"> 
     <Label>A:</Label> 
     <TextBlock>B</TextBlock> 
    </StackPanel> 
</WrapPanel> 

Je veux que les étiquettes et les valeurs tout pour aligner horizontalement en colonnes, sans spécifier une largeur statique. En ce moment, les Label s et TextBlock sont simplement dimensionnés en fonction de leur contenu.

+0

Avez-vous essayé WrapPanel en tant que ItemsContainer de la liste? –

Répondre

1

Avez-vous essayé d'ajouter WrapPanel en tant que ItemsContainer dans ListBox?

<ListBox> 
    <ListBox.ItemsContainer> 
    <WrapPanel /> 
    </ListBox.ItemsContainer> 
</ListBox> 
+0

ListBox n'a pas de propriété ItemsContainer. Parliez-vous de ItemsPanel? Si oui, pourriez-vous développer votre suggestion? Cela semble être une approche intéressante. –

Questions connexes