J'essaie le contenu d'un panier dans un ItemsControl(ListBox)
. Pour ce faire, je l'ai créé les éléments suivants DataTemplate
:Comment faire pour remplir DockPanel espace disponible
<DataTemplate x:Key="Templates.ShoppingCartProduct"
DataType="{x:Type viewModel:ProductViewModel}">
<DockPanel HorizontalAlignment="Stretch">
<TextBlock DockPanel.Dock="Left"
Text="{Binding Path=Name}"
FontSize="10"
Foreground="Black" />
<TextBlock DockPanel.Dock="Right"
Text="{Binding Path=Price, StringFormat=\{0:C\}}"
FontSize="10"
Foreground="Black" />
</DockPanel>
</DataTemplate>
Lorsque les éléments sont affichés dans mon panier cependant, le nom et le prix TextBlocks
sont assis juste à côté de l'autre, et il y a une très grande quantité de espace blanc sur le côté droit.
Je me demandais quelle était la meilleure méthode pour forcer le DockPanel
à étirer pour remplir tout l'espace mis à disposition par le ListItem
était?
J'essayé d'utiliser que la liaison et il semble être la cause du ListBoxItem de croître continuellement en taille, lors de la visualisation avec Snoop, j'ai vu la largeur des deux la ListBoxItem et DockPanel dépasse 300 000. –
Essayez de vous lier à l'ActualWidth de la ListBox lui-même, puis ... –
Oh, ok, je comprends ... vous devez définir LastChildFill = "False" sur le DockPanel, sinon le second TextBlock est étiré –