J'ai cette Xaml dans un ListBox article Modèle:Grille avec une image, textblock et rectangle, à l'intérieur d'une zone de liste ne montrant pas exactement droit
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="22" Width="Auto">
<Image Margin="-2,0,0,0" Source="{Binding Path=ADsPath, Converter={StaticResource ImxConverter}}" HorizontalAlignment="Left" Width="22" />
<TextBlock Margin="20,3,0,0" Text="{Binding Path=DisplayValue}" Width="Auto" />
<Rectangle Fill="White" Stroke="White" Margin="-2,0,-2,0.5" VerticalAlignment="Bottom" Height="1" Width="Auto" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
L'idée est que le rectangle, fournit un mince blanc ligne à travers le bas de l'ensemble de l'élément ListBox; Cependant, avec le Xaml ci-dessus, il ne s'étend que sur le texte, pas sur toute la largeur de la ListBox.
Dois-je supprimer la largeur = "Auto" de tous les éléments enfants ou seulement la grille? – Nate
Je ne pense pas que vous aurez besoin de, je pense que la Largeur de votre TextBlock est Auto par défaut (pas sûr), vous voudrez peut-être le retirer de votre rectangle, et changer HorizontalAlignment du rectangle pour étirer si. – Scott
Voir Modifier: La seule raison pour laquelle je suggère un DockPanel par rapport à la grille est qu'une grille est beaucoup plus chère, et un panneau de quai semble beaucoup plus efficace pour ce que vous essayez d'accomplir. – Scott