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