我希望 GridView 中的每个组都在这个特定的结构/模板中(一个大项目,其余的大小相同):
这些项目应该填满屏幕,直到按钮中没有更多空间。它应该从右到左填充(当填充一列项目时,我们填充下一列)。我的视图模型公开了分组集合,我希望 GridView 获取每个“小”项并将其定位,就好像大项是 GridView 的“天花板”一样。
我认为这与 VariableSizedWrapGrid 有关。
这是我当前的代码(目前每个项目的大小相同,流程是从右到左):
<GridView
VerticalAlignment="Top"
x:Name="GridMenu"
ItemsSource="{Binding Source={StaticResource groupedArticlesViewSource}}"
ItemTemplate="{StaticResource ArticlePreviewListView}">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="10">
<TextBlock Text='{Binding Key}'
FontFamily="{StaticResource FontFamilyStyle}"
Foreground="DarkBlue"
FontSize="20"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical"/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</GridView.GroupStyle>
</GridView>