Sto provando il contenuto di un carrello acquisti in un ItemsControl(ListBox)
. Per fare ciò, ho creato il seguente DataTemplate
:Come rendere DockPanel riempire lo spazio disponibile
<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>
Quando gli articoli sono visualizzati nel mio carrello della spesa invece, il nome e il prezzo TextBlocks
sono seduti accanto l'un l'altro, e v'è una grande quantità di estremamente spazio bianco sul lato destro.
Stava chiedendo quale fosse il metodo migliore per forzare lo DockPanel
ad allungare per riempire tutto lo spazio reso disponibile dallo ListItem
?
Ho provato ad utilizzare quello che lega e sembra essere la causa del ListBoxItem a crescere continuamente in termini di dimensioni, durante la visualizzazione con Snoop, ho visto la larghezza sia del ListBoxItem e DockPanel supera i 300.000. –
Provare a legare a ActualWidth del ListBox stesso, quindi ... –
Oh, ok, ho capito ... devi impostare LastChildFill = "False" sul DockPanel, altrimenti il secondo TextBlock è allungato –