【发布时间】:2014-04-11 16:10:24
【问题描述】:
我需要创建一个启用分组的垂直滚动列表视图,如下所示:
这是我目前拥有的:
<common:VariableSizeListViewWithSelection ItemsSource="{Binding Source={StaticResource cvs}}"
ScrollViewer.VerticalScrollBarVisibility="Auto"
IsItemClickEnabled="True"
ItemTemplateSelector="{StaticResource summaryViewTemplateSelector}" >
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="0,0,0,2">
<TextBlock Grid.Column="0" Text="{Binding Title}" Margin="0,-11,10,10" Style="{StaticResource SubheaderTextBlockStyle}" TextWrapping="NoWrap" FontWeight="SemiBold" Foreground="#333333" />
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
<common:VariableSizeListViewWithSelection.GroupStyle>
<GroupStyle HidesIfEmpty="True">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Background="LightGray" Margin="0">
<TextBlock Text='{Binding Title}' Foreground="Black" Margin="5" Style="{StaticResource HeaderTextBlockStyle}"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" MaximumRowsOrColumns="4" Width="300" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</common:VariableSizeListViewWithSelection.GroupStyle>
</common:VariableSizeListViewWithSelection>
但这并没有按预期工作,它创建了一个具有正确分组但只有一列的列表视图,如下所示:
你能指出我做错了什么吗?
【问题讨论】:
-
您确定在
WrapGrid的每行中可以容纳超过 1 个项目吗?Width为 300? -
我还可以建议每行 XAML 格式设置 1 个属性吗?虽然在编码时它是好是坏可能是相当主观的(尽管它使差异更容易!) - 它在 Stack Overflow 上更具可读性。看到这个帖子:blog.onedevjob.com/2011/11/07/beginning-winrt-development
-
嗨@FilipSkakun:当我将 wrapGrid 的宽度增加到 1500 时,我仍然每行只得到一个项目。
标签: xaml winrt-xaml