我是WinRT的新手,我正在尝试创建一个标准的gridview,它有一个组标题,下面有许多图块。这一点很容易。我正在尝试修改它,以便在瓷砖网格下面我还可以使用容器样式添加页脚:
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemGridView"
AutomationProperties.Name="Grouped Items"
Margin="116,0,40,46"
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
ItemTemplate="{StaticResource Project200x200ItemTemplate}"
SelectionMode="None"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="1,0,0,6">
<Button
AutomationProperties.Name="Group Title"
Content="{Binding Name}"
Click="Header_Click"
Style="{StaticResource TextButtonStyle}"
FontWeight="{Binding IsSelected, ConverterParameter=FontWeight, Converter={StaticResource BooleanToFontWeightConverter}}"
/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Background="Red" Orientation="Vertical" Margin="0,0,40,0" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
<GroupStyle.ContainerStyle>
<Style TargetType="GroupItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<ContentPresenter/>
<ItemsPresenter/>
<TextBlock Text="*** End of group ***"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</GridView.GroupStyle>
</GridView>
这几乎可以正常工作但是在添加容器样式后,平铺网格不再显示...组标题和“结束组”文本块正在显示,但我已经丢失了平铺网格。
有人能发现我做错了什么吗?
答案 0 :(得分:0)
你做错了什么?将VirtualizingStackPanel替换为其对应的StackPanel,一切正常或在Windows7上移动(问题出现在Vista上)。 顺便说一句。虚拟化不适用于使用分组(GroupStyle)的TreeView或DataGrid等分层对象。仔细看看this。