我正在寻找Windows 10中照片应用程序使用的确切解决方案,以显示尺寸不同的照片列表。基本上,行的高度是固定的,但每个元素的宽度是可变的,由其相对尺寸决定。我之前使用的解决方案是使用WrapPanel作为ItemsPanelTemplate。但是使用这意味着我会丢失一个很长的列表的UI虚拟化。微软肯定会为Photo应用程序使用一种解决方案,但我无法在任何地方找到它。
答案 0 :(得分:1)
您可以在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(它可以让您拥有不同身高的图像)