Xaml my GridView中的项目组不换行,位于屏幕外
我刚刚实现了一个带有组功能的GridView。我有一个电视剧的剧集列表,按传播日期分组。 当我有超过3集的时候,我想把我的项目包装起来,放在群组标题的旁边,这时,下一个项目就在屏幕之外了,这不是我想要的。 正如你所看到的,每天都有其他的剧集,我希望它们排在其他剧集的旁边,而不是排在下面。 这是我的XAML代码,谢谢:Xaml my GridView中的项目组不换行,位于屏幕外,xaml,gridview,windows-8,windows-runtime,Xaml,Gridview,Windows 8,Windows Runtime,我刚刚实现了一个带有组功能的GridView。我有一个电视剧的剧集列表,按传播日期分组。 当我有超过3集的时候,我想把我的项目包装起来,放在群组标题的旁边,这时,下一个项目就在屏幕之外了,这不是我想要的。 正如你所看到的,每天都有其他的剧集,我希望它们排在其他剧集的旁边,而不是排在下面。 这是我的XAML代码,谢谢: <GridView Margin="70,0,0,40" ItemsSource="{Binding Source={StaticResource cvsActivitie
<GridView Margin="70,0,0,40" ItemsSource="{Binding Source={StaticResource cvsActivities}}">
<GridView.Template>
<ControlTemplate>
<ItemsPresenter />
</ControlTemplate>
</GridView.Template>
<GridView.ItemContainerTransitions>
<TransitionCollection>
<EntranceThemeTransition IsStaggeringEnabled="True" />
<RepositionThemeTransition />
<AddDeleteThemeTransition />
</TransitionCollection>
</GridView.ItemContainerTransitions>
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<StackPanel Orientation="Vertical">
<Grid Name="grid_image">
<Image Width="280" Height="200" VerticalAlignment="Center" Stretch="UniformToFill" Source="Assets/no_image.png" />
<Image Width="280" Height="200" VerticalAlignment="Center" Stretch="UniformToFill" Source="{Binding saison.serie.poster}" />
</Grid>
<Image Source="Assets/Ban-1hh.png" Width="280" Height="59" Margin="0,-19,0,0"/>
<Grid Margin="0,-40,0,0" Height="40">
<StackPanel HorizontalAlignment="Left" Orientation="Vertical" VerticalAlignment="Center" Margin="0,-7,0,0">
<TextBlock HorizontalAlignment="Left" Margin="5,0,0,0" Width="190" TextTrimming="WordEllipsis" Foreground="White" FontSize="20" Text="{Binding saison.serie.nom}" />
<TextBlock HorizontalAlignment="Left" Margin="5,-5,0,0" Width="190" TextTrimming="WordEllipsis" Foreground="White" FontSize="13" Text="{Binding date}" />
</StackPanel>
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Right" Orientation="Vertical" Margin="0,-5,5,0">
<StackPanel Orientation="Horizontal" FlowDirection="RightToLeft">
<TextBlock Foreground="#f0ec45" FontSize="14" Text="{Binding saison.number}" />
<TextBlock Foreground="#f0ec45" FontSize="14" Margin="5,0,0,0" Text="Saison " />
</StackPanel>
<StackPanel Orientation="Horizontal" FlowDirection="RightToLeft" Margin="0,-5,0,0">
<TextBlock Foreground="#f0ec45" FontSize="14" Text="{Binding ep_number}" />
<TextBlock Foreground="#f0ec45" FontSize="14" Margin="5,0,0,0" Text="Episode " />
</StackPanel>
</StackPanel>
</Grid>
</StackPanel>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Background="LightGray" >
<TextBlock Text="{Binding Key, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}{0:dddd dd MMM yy}'}" Foreground="Black" Margin="10"
Style="{StaticResource PageSubheaderTextStyle}" />
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</GridView.GroupStyle>
</GridView>
添加一个ItemsPanelTemplate如果您查看默认的GridApp和GroupedItemsPage.xaml,您将看到他们是这样做的
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
如果希望列中的第三个元素从底部漏出,则可以在GridView本身上设置负的底部边距。实际上删除了GridView控件模板,因此难怪它不起作用。移除以下部分,事情可能会恢复正常:
<GridView.Template>
<ControlTemplate>
<ItemsPresenter />
</ControlTemplate>
</GridView.Template>
如果您希望在默认模板中更改某些内容,请更改该特定内容。默认模板有一个水平滚动查看器,用于限制用于其ItemsPanelTemplate的WrapGrid使用的垂直空间,并允许项目包装到下一列,同时还允许水平滚动以查看所有项目。谢谢,它正在工作。我是否应该将底部边距设置为250像素,因为我的项目高度为250px?哦,我的分组宽度不适合每个分组的大小。。。它不起作用了。。。删除这些行时,项目未移动