Comment puis-je insérer des éléments dans un StackPanel, et ils commencent à positionné par centre? Quelque chose comme ça: p>
| _ _ x _ _ | p>
| _ x x _ _ | p>
| _ x x x _ | p>
Les "X" sont les éléments, et le "_" sont un espace vide. P>
Y a-t-il déjà implémenté quelque chose? P>
4 Réponses :
Cela dépend un peu sur les éléments que vous ajoutez à la StackPanel, mais en général, recherchez les éléments suivants: Assurez-vous que chaque élément a l'horizontalalImignement réglé pour étirer (de sorte qu'elles s'étendent toute la largeur), puis définissent l'horizontalcontallmentIntientalement à Centre. P>
enveloppez les éléments d'un élément qui a horizontalalignement code> défini sur
étirement code>, E.g.:
<StackPanel>
<Border HorizontalAlignment="Stretch">
<TextBlock Text="something short" HorizontalAlignment="Center"/>
</Border>
<Border HorizontalAlignment="Stretch">
<TextBlock Text="something a bit longer" HorizontalAlignment="Center"/>
</Border>
<Border HorizontalAlignment="Stretch">
<TextBlock Text="something more than a bit longer" HorizontalAlignment="Center"/>
</Border>
</StackPanel>
Vous pouvez envelopper vos éléments dans une grille C'est l'approche la plus simple à mon avis.
Vous devez également vous assurer que la largeur de la StackPanel = "auto" et la largeur de la grille = "720" (une valeur fixe selon les besoins). P> p> code>:
<StackPanel> <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> <!-- element x --> </StackPanel> <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> <!-- element x --> <!-- element x --> </StackPanel> <StackPanel HorizontalAlignment="Center" Orientation="Horizontal"> <!-- element x --> <!-- element x --> <!-- element x --> </StackPanel> <StackPanel> This produces the example you gave.