我认为这是一个有点棘手的问题。
我有一个必须显示一些图像的列表框,并且每个图像必须放在一个矩形或方形边框内。这很简单,我知道。事实上,这个列表框每行必须始终显示 3 个元素,无论是屏幕分辨率还是窗口大小。
为了获得它,我将列表框模板化如下:
<ListBox Grid.Column="2" Grid.Row="1" x:Name="_productsLB" SelectedIndex="0"
ItemsSource="{Binding Products}" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
HorizontalContentAlignment="Stretch">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" Rows="4"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" Background="White" BorderBrush="Black" Margin="8"
Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
<Image Source="{Binding ImagePath}" Stretch="Uniform"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
问题是我获得了图像周围的矩形边框,而不是“围绕”列表框的方形边框。
请记住,我不能指定 width 属性,因为它们必须依赖于统一的网格列宽。
你有一些提示吗?
非常感谢!