Tôi đang thử nội dung của giỏ hàng trong một số ItemsControl(ListBox)
. Để làm như vậy, tôi đã tạo ra những điều sau DataTemplate
:Cách đặt DockPanel lấp đầy không gian có sẵn
<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>
Khi các mục được hiển thị trong giỏ hàng của tôi tuy nhiên, Name, Price TextBlocks
đang ngồi ngay bên cạnh nhau, và có một số lượng rất lớn của khoảng trắng ở phía bên tay phải.
Đã tự hỏi phương pháp nào tốt nhất để buộc DockPanel
để kéo dài để lấp đầy tất cả không gian được cung cấp bởi ListItem
là?
Tôi đã thử sử dụng liên kết đó và dường như làm cho ListBoxItem liên tục phát triển về kích thước, khi xem bằng Snoop, tôi thấy chiều rộng của cả ListBoxItem và DockPanel vượt quá 300.000. –
Hãy thử ràng buộc với ActualWidth của ListBox chính nó, sau đó ... –
Oh, ok, tôi nhận được nó ... bạn phải đặt LastChildFill = "False" trên DockPanel, nếu không TextBlock thứ hai được kéo dài –