Я пробую содержимое корзины покупок в ItemsControl(ListBox)
. Для этого я создал следующие DataTemplate
:Как сделать DockPanel заполнять свободное пространство
<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>
Когда элементы отображаются в моей корзине однако, название и цена TextBlocks
сидят рядом друг с другом, и есть очень большое количество пробелы с правой стороны.
Было интересно, какой лучший способ заставить DockPanel
растянуть, чтобы заполнить все пространство, сделанное ListItem
, было?
Я попытался с помощью, что связывание и это, кажется, в результате чего ListBoxItem постоянно растут в размерах, при просмотре с Snoop, я увидел, что ширина обоих ListBoxItem и DockPanel превышает 300000. –
Попробуйте привязать к ActualWidth самого ListBox, затем ... –
О, ладно, я понял ... вы должны установить LastChildFill = «False» на DockPanel, иначе второй TextBlock растянут –