1

グループでデータを表示するグリッド ビューがあります。この特性で表示されるデータを取得します。各グループは、最大のグループによって決定される同じ量の水平方向のスペースを受け取ります。

明確にするために、私の最大のデータ グループは、3 行 x 4 列のアイテムの配列を示しています。各列は 300 ピクセルで、グループに 1200 ピクセルが割り当てられます。他のグループには 1 つのアイテムしかありません。ただし、このグループの幅を 300 ピクセルにする代わりに、システムは 1200 ピクセルを割り当てます。アイテムを含む 300 ピクセルと、900 ピクセルの空のスペースです。

なぜこれが起こるのか説明はありますか?

4

3 に答える 3

4

グループ化にも同じ問題がありました。ItemsPanel として水平方向の StackPanel を追加しました。

<GridView.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
</GridView.ItemsPanel>
于 2012-10-19T13:06:42.507 に答える
0

dataTemplateSelector を使用していますか? dataTemplateSelector の使用中に同じ問題が発生したためです。私が行ったことは、グリッド内にさまざまなアイテムのサイズを設定できるようにする VariableSizedWrapGrid を使用することです。GroupedList とうまく連携します。すべてを説明するリンクをたどることができます:

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

于 2012-09-18T08:56:54.450 に答える
0

私は同じ問題を抱えています:

最初のグループ幅は、他のすべてのグループの幅を決定します。

<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>
于 2012-10-09T14:53:16.540 に答える