我有一个包含VariableSizedWrapGrid的GridView,就像这样...
<local:MyGridview
Padding="116,0,0,0"
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemGridView"
AutomationProperties.Name="Grouped Items"
Grid.Column="1"
Grid.Row="1"
SelectionMode="None"
ItemTemplateSelector="{StaticResource templateSelector}"
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
IsItemClickEnabled="True"
ItemClick="itemGridView_ItemClick">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" Margin="0"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Key}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" ItemWidth="1" ItemHeight="1" Margin="0,3,40,0" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</GridView.GroupStyle>
</local:MyGridview>
显示这样的项目......
我想让它水平而不是垂直地堆叠项目,以便橙色瓷砖位于蓝色瓷砖旁边而不是它下方
我尝试将VariableSizedWrapGrid的Orientation更改为Horizontal,但这种情况发生了....
我做的事真的很傻吗?
答案 0 :(得分:0)
为什么将ItemWidth和ItemHeight设置为1?您是否从代码中设置了正确的ColumnSpan和RowSpan值?我建议你将ItemWidth和ItemHeight设置为更大的东西,也许是最小项目的大小。 VariableSizedWrapGrid布局算法并不完美,在我的样本中,有时它会根据需要水平放置小项目,有时 - 不(我根本不设置VariableSizedWrapGrid方向)。