具有固定高度和可变宽度的GridView用于UWP



我正在寻找Windows 10中的库存照片应用程序所使用的确切解决方案,以显示尺寸不同的照片列表。基本上,行的高度是固定的,但每个元素的宽度是可变的,由其相对尺寸决定。我以前使用的一个解决方案是使用WrapPanel作为ItemsPanelTemplate。但使用它意味着我在很长一段时间内都失去了UI虚拟化。微软在Photo应用程序中肯定有一个解决方案,但我在任何地方都找不到。

您可以在UWP应用程序中使用XAML Toolkit中的WrapPanel。

或者你可以试着这样做:

<GridView ItemsSource="{Binding}"> 
<GridView.ItemTemplate> 
<DataTemplate> 
<Grid Width="100">
<Image Width="100" Height="50" Source="{Binding somesource}" /> 
</Grid> 
</DataTemplate> 
</GridView.ItemTemplate> 
<GridView.ItemsPanel> 
<ItemsPanelTemplate> 
<ItemsWrapGrid MaximumRowsOrColumns="8" Orientation="Horizontal" />
</ItemsPanelTemplate> 
</GridView.ItemsPanel> 
</GridView>

或者你也可以使用VariableSizedWrapGrid(它会让你有不同高度的图像)

最新更新