Die Gruppierung der GridView in Windows 8 Metro-App

Kann mir jemand einige Hinweise, wie das zu erreichen ist die Gruppierung
innerhalb eines GridView-für Metro-Apps, wie in der Abbildung unten gezeigt.

Die Gruppierung der GridView in Windows 8 Metro-App

Dieser Screenshot ist aus der Entwickler-Ressourcen für Windows Metro Apps,
aber leider gibt es keine Beschreibung, wie um es zu erreichen.

Ich habe den folgenden code-snippet:

Xaml:

    ...

    <Page.Resources>
        <CollectionViewSource x:Name="cvs" IsSourceGrouped="true"/>
    </Page.Resources>

    <Grid Background="{StaticResource DefaultBackground}">

        <GridView x:Name="DefaultGridView" ItemsSource="{Binding Source={StaticResource cvs}}">
            <GridView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Rectangle Fill="{Binding}" Width="100" Height="100" Margin="0 0 5 0"/>
                    </StackPanel>
                </DataTemplate>
            </GridView.ItemTemplate>

            <GridView.GroupStyle>
                <GroupStyle>

                    <GroupStyle.HeaderTemplate>
                        <DataTemplate>
                            <TextBlock Text='{Binding Key}' Foreground="Gray" Margin="5" FontSize="30" FontFamily="Segoe UI Light" />
                        </DataTemplate>
                    </GroupStyle.HeaderTemplate>

                    <GroupStyle.Panel>
                        <ItemsPanelTemplate>
                            <VariableSizedWrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal" />
                        </ItemsPanelTemplate>
                    </GroupStyle.Panel>

                </GroupStyle>
            </GridView.GroupStyle>


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


        </GridView>

    </Grid>

...

C#:

In der Code-Behind-ich den folgenden Code in die OnNavigateTo-Methode:

        List<string> strList = new List<string>() { 
        "Red", "Red", "Red", "Red", "Red", "Red", 
        "Green", "Green","Green","Green","Green",
        "Blue","Blue","Blue","Blue" };

    var groupedList = from s in strList
                      group s by s into g
                      orderby g.Key
                      select g;


    cvs.Source = groupedList;

Egal was ich mache, ich bin nicht in der Lage, um die Gruppierung der Elemente in einer Liste weiter, wie in der
Screenshot. Der Code der die Ergebnisse in separaten Listen gruppiert nebeneinander.

InformationsquelleAutor Edmond Simbari | 2012-03-25

Schreibe einen Kommentar