网格视图不能正确分隔组



我有一个网格视图,显示分组的数据。我得到具有以下特征显示的数据:每个组接收相同数量的水平空间,由最大的组决定。

澄清一下,我最大的数据组显示一个 3 行 x 4 列项目的数组。每列为 300 像素,为组分配 1200 像素。其他组只有一个项目。但是,系统分配 1200 像素,而不是此组的宽度为 300 像素。300 像素用于包含项目,900 像素仅用于空白空间。

任何解释为什么会发生这种情况?

我在分组方面遇到了同样的问题。我添加了一个水平方向的StackPanel作为ItemsPanel。

<GridView.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
</GridView.ItemsPanel>

你使用的是 dataTemplateSelector?因为我在使用dataTemplateSelector时遇到了同样的问题。我所做的是使用VariableSizedWrapGrid,它允许您在Grid中具有不同的项目大小。它与分组列表配合得很好。您可以点击那些解释一切的链接:

http://blogs.u2u.be/diederik/post/2012/03/07/Databinding-to-the-VariableSizedWrapGrid-in-Windows-8-Metro.aspx

下面是一个示例示例: https://skydrive.live.com/?cid=3a5ca8204ec61147&id=3A5CA8204EC61147!35841

我遇到了同样的问题:

第一个组宽度

确定所有其他组的宽度。

<GridView
                x:Name="resultsGridView"
                AutomationProperties.AutomationId="ResultsGridView"
                AutomationProperties.Name="Search Results"
                TabIndex="1"
                Grid.Row="1"
                Margin="0,-238,0,0"
                Padding="110,240,110,46"
                SelectionMode="None"
                IsSwipeEnabled="false"
                ItemClick="resultsGridView_ItemClick_1"
                IsItemClickEnabled="True"
                ItemsSource="{Binding Source={StaticResource resultsViewSource}}"
                ItemTemplate="{StaticResource StandardSmallIcon300x70ItemTemplate}">
                <GridView.ItemContainerStyle>
                    <Style TargetType="Control">
                        <Setter Property="Height" Value="150"/>
                        <Setter Property="Margin" Value="0,0,38,8"/>
                   </Style>
                </GridView.ItemContainerStyle>
                <GridView.GroupStyle>
                    <GroupStyle>
                        <GroupStyle.HeaderTemplate>
                            <DataTemplate>
                                <Grid Margin="1,0,0,6">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto" />
                                    </Grid.ColumnDefinitions>
                                    <!--<Button
                                AutomationProperties.Name="Group Title"                                    
                                Style="{StaticResource TextPrimaryButtonStyle}" >-->
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="{Binding Title}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
                                        <!--<TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>-->
                                    </StackPanel>
                                    <!--</Button>Click="Header_Click"-->
                                </Grid>
                            </DataTemplate>
                        </GroupStyle.HeaderTemplate>
                        <GroupStyle.Panel>
                            <ItemsPanelTemplate>
                                <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/>
                            </ItemsPanelTemplate>
                        </GroupStyle.Panel>
                    </GroupStyle>
                </GridView.GroupStyle>
            </GridView>

最新更新