Ich versuche den Inhalt eines Einkaufswagens in ItemsControl(ListBox)
. Dazu habe ich erstellt die folgenden DataTemplate
:Wie DockPanel füllen verfügbaren Speicherplatz
<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>
Wenn die Einzelteile in meinem Warenkorb jedoch angezeigt werden, der Name und Preis TextBlocks
sitzen direkt nebeneinander, und es gibt eine sehr große Menge an Whitespace auf der rechten Seite.
Fragen Sie sich, was die beste Methode, um die DockPanel
zu dehnen, um den gesamten Raum von der ListItem
zur Verfügung gestellt wurde füllen zu füllen?
Ich habe versucht, mit, dass die Bindung und es scheint, die ListBoxItem zu verursachen ständig in der Größe zu wachsen, wenn sie mit Snoop sehen, sah ich die Breite sowohl das ListBoxItem und die DockPanel 300.000 übersteigen. –
Versuchen Sie, an die ActualWidth der ListBox selbst zu binden, dann ... –
Oh, ok, ich bekomme es ... Sie müssen LastChildFill = "False" auf dem DockPanel setzen, sonst wird der zweite TextBlock gestreckt –