Windows 8 GridView groups width

本文关键字:width groups GridView Windows | 更新日期: 2023-09-27 17:57:28

我的网格视图有问题。我在其中显示分组数据,并使用VariableSizedWrapGrid显示项目。问题是,每个组的宽度都与最多的项目相同。即使一个组只包含一个项目,它的宽度也和20个项目一样。如何使这些项目面板具有可变宽度?

我的问题与这里描述的几乎相同,但当我使用VirtualizingStackPanel作为GridView.ItemsPanel时,我的VariableSizedWrapGrid显示在一行中,我需要它显示在两行中。

<SemanticZoom.ZoomedInView>
                    <GridView ScrollViewer.IsHorizontalScrollChainingEnabled="False" 
                              ScrollViewer.IsVerticalScrollChainingEnabled="False"
                              ItemTemplate="{StaticResource PatientMediaFileBigItemTemplate}"
                              ItemsSource="{Binding Source={StaticResource PatientVisits} }" 
                              IsItemClickEnabled="True"
                              SelectionMode="None"
                              Margin="0,0,0,0" ItemClick="MediaFileIcon_Click"
                              >
                        <GridView.GroupStyle>
                            <GroupStyle>
                                <GroupStyle.HeaderTemplate>
                                    <DataTemplate>
                                        <Button Content="{Binding DateOfVisit, Converter={StaticResource StringFormatConverter},  ConverterParameter='{}{0:dd MMM yyyy}'}" FontSize="28" Foreground="Black" BorderThickness="0" Click="ButtonVisit_OnClick"/>
                                    </DataTemplate>
                                </GroupStyle.HeaderTemplate>
                                <GroupStyle.Panel>
                                    <ItemsPanelTemplate>
                                        <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0" Width="Auto"  Background="BlueViolet"/>
                                    </ItemsPanelTemplate>
                                </GroupStyle.Panel>
                            </GroupStyle>
                        </GridView.GroupStyle>
                    </GridView>
                </SemanticZoom.ZoomedInView>

Windows 8 GridView groups width

您可能需要将GridViewItemsPanel更改为StackPanel,但请注意,这将限制您可以放入GridView中的项目数,因为它会禁用虚拟化。一个更好的选择可能是在一个组中继续显示有限数量的项目,但添加一个按钮(实际上,带有V字形的组标题按钮应该可以工作)来导航到所选组的完整视图。